gem install pg --with-pg-config работает, пакет не работает
когда я запускаю (как root)
gem install pg -v '0.12.0' -- --with-pg-config=/usr/pgsql-9.1/bin/pg_config
Я получаю следующий вывод:
#-> gem instal pg -v '0.12.0' -- --with-pg-config=/usr/pgsql-9.1/bin/pg_config
Building native extensions. This could take a while...
Successfully installed pg-0.12.0
1 gem installed
Installing ri documentation for pg-0.12.0...
Installing RDoc documentation for pg-0.12.0...
#->
когда я запускаю bundle install:
Installing pg (0.12.0) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/usr/local/rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb
checking for pg_config... no
No pg_config... trying anyway. If building fails, please try again with
--with-pg-config=/path/to/pg_config
checking for libpq-fe.h... no
Can't find the 'libpq-fe.h header
*** 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
--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=/usr/local/rvm/rubies/ruby-1.9.2-p290/bin/ruby
--with-pg
--without-pg
--with-pg-dir
--without-pg-dir
--with-pg-include
--without-pg-include=${pg-dir}/include
--with-pg-lib
--without-pg-lib=${pg-dir}/lib
--with-pg-config
--without-pg-config
--with-pg_config
--without-pg_config
Gem files will remain installed in /var/www/simpletrac/vendor/cache/ruby/1.9.1/gems/pg- 0.12.0 for inspection.
Results logged to /var/www/simpletrac/vendor/cache/ruby/1.9.1/gems/pg-0.12.0/ext/gem_make.out
An error occured while installing pg (0.12.0), and Bundler cannot continue.
Make sure that `gem install pg -v '0.12.0'` succeeds before bundling.
у меня есть libpq-fe.h установлен в /usr/pgsql-9.1/include / libpq-fe.h. Итак, я попытался
gem install pg -v '0.12.0' -- --with-pg-config=/usr/pgsql-9.1/bin/pg_config --with-pg-lib=/usr/pgsql-9.1/include/libpq-fe.h but still no go.
любая помощь была бы весьма признательна.
кроме того, я установил postgresql91-devel и ruby-devel. Запуск CentOS 6.
16 ответов
вы пробовали запустить это перед запуском bundle install
?
bundle config build.pg --with-pg-config=/usr/pgsql-9.1/bin/pg_config
если кто-то использовал macports для установки postgres и возникли проблемы с поиском их pg_config, попробуйте следующее:
bundle config build.pg --with-pg-config=/opt/local/lib/postgresql91/bin/pg_config
Я надеюсь, это поможет кому-то сэкономить время. Ура!
если вы не уверены, где находится ваш pg_config, и предполагаете, что вы находитесь на Linux или Mac, вы можете выполнить следующую команду:
which pg_config
это возвратит ==> /usr/pgsql-9.1/bin/pg_config
теперь используйте этот путь как
bundle config build.pg --with-pg-config=/usr/pgsql-9.1/bin/pg_config
сделать сейчас bundle install
была та же проблема, исправлена путем установки libpq-dev.
Ref: https://bitbucket.org/ged/ruby-pg/issue/83/help-gem-install-pg-failed-on-opensuse-103
вы можете получить эту ошибку, если у вас установлен pg_config, но его нет в любом пути. Вы можете добавить его в свой путь env в своем~/.bashrc следующее.
например.
export PATH=${PATH}:/usr/pgsql-9.2/bin
Я на Mac, и я использую Homebrew, поэтому, чтобы исправить эту проблему, я только что установил postgresql с brew:
brew install postgresql
и затем установил драгоценный камень.
Скопировать И Вставить:
bundle config build.pg --with-pg-config=`which pg_config` && bundle
детали:
посетить для получения дополнительной информации:
- http://bundler.io/v1.3/man/bundle-config.1.html
- https://github.com/nlopes/pg/blob/master/readme-os_x.rdoc
первое, что вы должны сделать, это убедиться, что инструмент "pg_config", который поставляется с Postgres, находится на вашем пути. Если это не так, или тот, который первый в вашем пути, не тот, который был установлен с Postgres, с которым вы хотите построить, Вы можете указать путь к нему с помощью опции –with-pg-config.
источник: https://github.com/ged/ruby-pg/blob/1f274f68c16f1af1c642db1b9d3d28aef169dc84/ext/extconf.rb#L27
Я должен был сделать это, чтобы исправить мой на OS X:
export PATH=/opt/local/lib/postgresql84/bin/:$PATH
и я должен был это сделать, несмотря на то, что у меня уже было это на моем пути:
[user@foo ~] which psql84
/opt/local/bin/psql84
[user@foo ~] ls -altrh /opt/local/bin/psql84
lrwxr-xr-x 1 root admin 36B Dec 7 02:15 /opt/local/bin/psql84 -> /opt/local/lib/postgresql84/bin/psql
Я надеюсь, что это поможет другому пользователю Mac с этой проблемой.
драгоценный камень Postgres не может найти файл конфигурации Postgres. Ты должен сказать ему, где он. Самое приятное решение этого, на мой взгляд, - пропустить Brew и MacPorts и просто использовать приложение Postgres. Скачать и установить отсюда:
теперь добавьте папку bin в свой путь:
PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"
вы также можете добавить это в свой~/.файл
теперь установить джем:
gem install pg
это должно пройти гладко.
Я использую Arch Linux, и у меня были аналогичные проблемы. Используется sudo pacman -S libpqxx
и reran затем установил драгоценный камень pg, а затем побежал bundle install
снова, и на этот раз это наконец-то сработало!
когда вы используете postgresapp на Mac, прочитайтеhttp://postgresapp.com/documentation/cli-tools.html документация и настройка $PATH. Перед этим попробуйте снова запустить установку пакета.
этой ссылке предложил использовать:
gem install pg --pre
Я не мог получить pg gem
установить в течение нескольких дней,но этот метод, наконец, работал для меня. Надеюсь, это будет полезно.
убедитесь, что у вас установлен postgress. если не установить его первым. Например, с помощью терминала.
brew install postgresql
после этого бегите
bundle install
некоторые случаи на UBUNTU
sudo apt-get install libpq-dev
затем
bundle install
это работает для меня.