проблема архитектуры с рельсами и pg gem - PullRequest
0 голосов
/ 13 декабря 2018

Когда я делаю gem install pg в моем проекте Rails, я получаю сообщение об ошибке Can't find the PostgreSQL client library (libpq), extconf.rb failed

Это та же самая проблема, описанная в этом старом вопросе SO, поэтому я получилвдохновение от ответов в нем;после небольшого количества проб и ошибок я увидел, что, хотя мой Mac имеет архитектуру i386,

env ARCHFLAGS="-arch i386" gem install pg

не работает (gem install pg терпит неудачу с тем же сообщением об ошибке);с другой стороны,

env ARCHFLAGS="-arch x86_64" gem install pg

выполняется без ошибок;но затем rails server завершается ошибкой со следующим сообщением об ошибке:

/Users/ewandelanoy/.rvm/gems/ruby-2.5.3/gems/activesupport-5.1.6.1/lib/active_support/dependencies.rb:292:in `require':
  dlopen(/Users/ewandelanoy/.rvm/gems/ruby-2.5.3/gems/therubyracer-0.12.3/lib/v8/init.bundle,0x0009): could not use '/Users/ewandelanoy/.rvm/gems/ruby-2.5.3/gems/therubyracer-0.12.3/lib/v8/init.bundle' because it does not contain required architecture x86_64h -
/Users/ewandelanoy/.rvm/gems/ruby-2.5.3/gems/therubyracer-0.12.3/lib/v8/init.bundle
(LoadError)

Если это имеет значение, вот дополнительная информация:

Я установил Postgres с помощью homebrew.

$ file `which ruby`
/usr/bin/ruby: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [i386:Mach-O executable i386]
/usr/bin/ruby (for architecture x86_64):    Mach-O 64-bit executable x86_64
/usr/bin/ruby (for architecture i386):  Mach-O executable i386
$ file `which postgres`
/usr/local/bin/postgres: Mach-O 64-bit executable x86_64

В ответ на комментарий ниже:

$ ruby -v 
ruby 2.5.3p105 (2018-10-18 revision 65156) [x86_64-darwin17]
$ which gem 
/Users/ewandelanoy/.rvm/rubies/ruby-2.5.3/bin/gem
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...