Подтвердить что ты не робот

Не удается найти клиентскую библиотеку PostgreSQL (libpq)

Думаю, я пробовал все предложения, которые я мог найти по этой проблеме. Все еще не работает для меня.

Когда я пытаюсь связать...

$ 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

и это тоже не сработало.

Я не уверен, что еще попробовать в этот момент. Спасибо за любую помощь.

4b9b3361

Ответ 1

Мое решение оказалось на этом

ARCHFLAGS="-arch x86_64" bundle install

Ответ 2

Основываясь на этом post answer, и это сработало для меня (Yosemite OSX 10.10), вы можете попробовать следующее:

$ sudo su

$ env ARCHFLAGS="-arch x86_64" gem install pg

Вам не нужно переустанавливать pg из homebrew.

Ответ 3

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

Ответ 4

Я удалил postgresql с помощью home- brew (я использовал его для установки postgresql раньше)

Я установил Postgres.app, и это обновило мою PATH

Затем мне пришлось остановить текущий выполняемый postgresql db

Затем я смог запустить Postgres.app и начал работу на порту 5432

Затем мне пришлось перезапустить терминал

Затем мне удалось запустить пакет, и он сработал.

Ответ 5

Для удобства управления и обновления и т.д. Я использовал (приложение PostgreSQL на своем Mac со следующей установкой gem (такой же, как ваш выше).

gem install pg -- --with-pg-config=/Applications/Postgres__version__.app/Contents/MacOS/bin/pg_config

У меня не было проблем с этим подходом (по сравнению с пользовательской установкой или с помощью Homebrew, из которых у меня было несколько проблем).

Ответ 6

Пожалуйста, убедитесь, что в вашей системе установлен пакет 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

Ответ 7

В моем конкретном случае я пытался запустить bundle install в своем первом приложении heroku. Я сделал все пункты, которые перечислены в @boobooninja (конечно, с несколькими разными путями). То, что закончилось для меня, было комбинацией двух ответов. Мне нужно

$ sudo su

$ env ARCHFLAGS="-arch x86_64" gem install pg -v '0.17.1' 

Добавив -v 0.17.1 и указав версию, необходимую героку, я смог завершить свой пакет и продолжить.

Ответ 8

Если вы хотите по-прежнему добавить 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.

Ответ 9

Для меня трюк состоял в том, чтобы повторно связать Postgres 9.3.0

brew link postgresql