Ответ 1
Мое решение оказалось на этом
ARCHFLAGS="-arch x86_64" bundle install
Думаю, я пробовал все предложения, которые я мог найти по этой проблеме. Все еще не работает для меня.
Когда я пытаюсь связать...
$ bundle
...
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb
checking for pg_config... yes
Using config values from /usr/local/bin/pg_config
checking for libpq-fe.h... yes
checking for libpq/libpq-fs.h... yes
checking for pg_config_manual.h... yes
checking for PQconnectdb() in -lpq... no
checking for PQconnectdb() in -llibpq... no
checking for PQconnectdb() in -lms/libpq... no
Can't find the PostgreSQL client library (libpq)
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
--with-pg
--without-pg
--with-pg-config
--without-pg-config
--with-pg_config
--without-pg_config
--with-pg-dir
--without-pg-dir
--with-pg-include
--without-pg-include=${pg-dir}/include
--with-pg-lib
--without-pg-lib=${pg-dir}/
--with-pqlib
--without-pqlib
--with-libpqlib
--without-libpqlib
--with-ms/libpqlib
--without-ms/libpqlib
Gem files will remain installed in
...
An error occurred while installing pg (0.17.1), and Bundler cannot
continue.
Make sure that `gem install pg -v '0.17.1'` succeeds before
bundling.
Выход из предыдущего кода...
$ which bundle
/Users/Loren/.rvm/gems/[email protected]/bin/bundle
$ which gem
/Users/Loren/.rvm/rubies/ruby-2.1.1/bin/gem
$ which psql
/usr/local/bin/psql
Я попытался удалить postgresql с помощью Homebrew и переустановить, и это не помогло.
Я пробовал...
ARCHFLAGS="-arch x86_64" gem install pg
и это завершается успешно, но затем, когда я запускаю bundle
, я все равно получаю ту же ошибку.
Я пробовал...
gem install pg -- --with-pg-config=/Applications/Postgres93.app/Contents/MacOS/bin/pg_config
и это не сработало.
Я пробовал...
gem install pg -v '0.17.1' -- --with-pg-config=/usr/local/Cellar/postgresql/9.3.2/bin/pg_config
и это тоже не сработало.
Я не уверен, что еще попробовать в этот момент. Спасибо за любую помощь.
Мое решение оказалось на этом
ARCHFLAGS="-arch x86_64" bundle install
Основываясь на этом post answer, и это сработало для меня (Yosemite OSX 10.10), вы можете попробовать следующее:
$ sudo su
$ env ARCHFLAGS="-arch x86_64" gem install pg
Вам не нужно переустанавливать pg из homebrew.
sudo ARCHFLAGS="-arch x86_64" gem install pg
DID TRICK FOR ME... спасибо за подсказку на тему, заданную Jakob @github
Моя система: OSX 10.9.4, Ruby 2.0.0, локальная (не домохозяйка) Postgresql 9.3.5
Building native extensions. This could take a while...
Successfully installed pg-0.17.1
invalid options: -f fivefish
(invalid options are ignored)
Parsing documentation for pg-0.17.1
unable to convert "\xCF" from ASCII-8BIT to UTF-8 for lib/pg_ext.bundle, skipping
Installing ri documentation for pg-0.17.1
1 gem installed
Я удалил postgresql с помощью home- brew (я использовал его для установки postgresql раньше)
Я установил Postgres.app, и это обновило мою PATH
Затем мне пришлось остановить текущий выполняемый postgresql db
Затем я смог запустить Postgres.app и начал работу на порту 5432
Затем мне пришлось перезапустить терминал
Затем мне удалось запустить пакет, и он сработал.
Для удобства управления и обновления и т.д. Я использовал (приложение PostgreSQL на своем Mac со следующей установкой gem (такой же, как ваш выше).
gem install pg -- --with-pg-config=/Applications/Postgres__version__.app/Contents/MacOS/bin/pg_config
У меня не было проблем с этим подходом (по сравнению с пользовательской установкой или с помощью Homebrew, из которых у меня было несколько проблем).
Пожалуйста, убедитесь, что в вашей системе установлен пакет libpq-dev.
Итак, попробуйте установить libpq-dev:
for Ubuntu systems: sudo apt-get install libpq-dev
on RHEL systems: yum install postgresql-devel
for Mac: brew install postgresql
Затем установите pg gem
$ gem install pg -v '0.17.1'
$ bundle
В моем конкретном случае я пытался запустить bundle install
в своем первом приложении heroku. Я сделал все пункты, которые перечислены в @boobooninja (конечно, с несколькими разными путями). То, что закончилось для меня, было комбинацией двух ответов. Мне нужно
$ sudo su
$ env ARCHFLAGS="-arch x86_64" gem install pg -v '0.17.1'
Добавив -v 0.17.1
и указав версию, необходимую героку, я смог завершить свой пакет и продолжить.
Если вы хотите по-прежнему добавить gem 'pg'
в свой gemfile и использовать bundle install
, и вы знаете, что установлены PostgreSQL и libpq-dev (которые, как я полагаю, должны быть, поскольку OS X поставляется с PostgreSQL) вам нужно сообщите только $PATH
, где можно найти pg_config
. Попробуйте следующее:
$ ln -s /Library/PostgreSQL/9.1/bin/pg_config /usr/local/bin/pg_config
Обязательно замените 9.1
на любую версию PostgreSQL, которую вы установили. И убедитесь, что везде, где вы создаете ссылку, находится в вашем $PATH
. После этого запустите bundle install
, чтобы установить драгоценный камень pg
.
Для меня трюк состоял в том, чтобы повторно связать Postgres 9.3.0
brew link postgresql