WhenI run (als root)
gem install pg -v '0.12.0' -- --with-pg-config=/usr/pgsql-9.1/bin/pg_config
Ich erhalte folgende Ausgabe:
#-> 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...
#->
Wenn ich Bundle installiere:
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.
Ich habe libpq-fe.h unter /usr/pgsql-9.1/include/libpq-fe.h installiert. Also habe ich es versucht
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.
Jede Hilfe wäre sehr dankbar.
Außerdem habe ich postgresql91-devel und Ruby-devel installiert. Ausführen von CentOS 6.
Haben Sie versucht, dies auszuführen, bevor Sie bundle install
ausführen?
bundle config build.pg --with-pg-config=/usr/pgsql-9.1/bin/pg_config
Falls jemand macports zur Installation von Postgres verwendet hat und Probleme hat, seine pg_config zu finden, versuchen Sie Folgendes:
bundle config build.pg --with-pg-config=/opt/local/lib/postgresql91/bin/pg_config
Ich hoffe, das hilft jemandem, Zeit zu sparen. Prost!
Wenn Sie nicht sicher sind, wo sich Ihre pg_config befindet, und wenn Sie Linux oder Mac verwenden, können Sie den folgenden Befehl ausführen:
which pg_config
dies wird zurückkehren ==> /usr/pgsql-9.1/bin/pg_config
benutze diesen Pfad jetzt als
bundle config build.pg --with-pg-config=/usr/pgsql-9.1/bin/pg_config
Fertig jetzt bundle install
Hatte das gleiche Problem, behoben durch die Installation von libpq-dev.
Ref: https://bitbucket.org/ged/Ruby-pg/issue/83/help-gem-install-pg-failed-on-opensuse-103
bundle config build.pg --with-pg-config=`which pg_config` && bundle
Besuchen Sie für weitere Informationen:
- http://bundler.io/v1.3/man/bundle-config.1.html
- https://github.com/nlopes/pg/blob/master/readme-os_x.rdoc
Das erste, was Sie tun sollten, ist sicherzustellen, dass sich das mit 'Postgres' mitgelieferte Tool 'pg_config' in Ihrem Pfad befindet. Ist dies nicht der Fall, oder ist das erste, das sich in Ihrem Pfad befindet, nicht das, das mit installiert wurde Postgres, gegen die Sie erstellen möchten, können Sie den Pfad mit der Option –with-pg-config angeben.
Source:https://github.com/ged/Ruby-pg/blob/1f274f68c16f1af1c642db1b9d3d28aef169dc84/ext/extconf.rb#L27
Ich bin auf dem Mac und verwende Homebrew. Um dieses Problem zu beheben, habe ich Postgresql mit brew installiert:
brew install postgresql
Und dann den Edelstein installiert.
Sie können diese Fehlermeldung erhalten, wenn Sie pg_config installiert haben, sich aber in keinem Pfad befinden. Sie können es Ihrer PATH-Umgebung in Ihrem ~/.bashrc hinzufügen.
Zum Beispiel.
export PATH=${PATH}:/usr/pgsql-9.2/bin
Ich musste dies tun, um mein Problem unter OS X zu beheben:
export PATH=/opt/local/lib/postgresql84/bin/:$PATH
Und ich musste es trotz der Tatsache tun, dass ich dies schon auf meinem Weg hatte:
[[email protected] ~] which psql84
/opt/local/bin/psql84
[[email protected] ~] 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
Ich hoffe, das hilft einem anderen Mac-Benutzer bei diesem Problem.
Der Postgres-Edelstein kann die Postgres-Konfigurationsdatei nicht finden. Sie müssen es sagen, wo es ist. Die angenehmste Lösung dafür ist meiner Meinung nach, Brew und MacPorts zu überspringen und einfach die Postgres-App zu verwenden. Download und Installation von hier:
Fügen Sie nun den Ordner bin zu Ihrem Pfad hinzu:
PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"
Sie können dies auch zu Ihrem ~/.bash_profile hinzufügen
Nun installiere den Edelstein:
gem install pg
es sollte reibungslos gehen.
Ich verwende Arch Linux und hatte ähnliche Probleme. Verwendete Sudo pacman -S libpqxx
und reran installierte dann den pg gem und lief erneut bundle install
und diesmal funktionierte es endlich!
Dieser Link schlug vor mit:
gem install pg --pre
Ich konnte den pg gem
tagelang nicht installieren, aber diese Methode funktionierte schließlich für mich. Hoffe das wird hilfreich sein.
Versuche dies:
yum install libpqxx-devel
Es funktioniert mit Postgr9.2.
Wenn Sie Postgresapp auf einem Mac verwenden, lesen Sie die Dokumentation unter http://postgresapp.com/documentation/cli-tools.html und konfigurieren Sie Ihren $ PATH. Führen Sie zuvor die Bundle-Installation erneut aus.
installieren Sie in OSX zuerst pg:
brew install postgresql
zweitens installieren Sie Gem:
gem install pg --source 'https://rubygems.org/'
sie können dann bundle install
ausführen.
Stellen Sie sicher, dass Postgres installiert sind. Wenn nicht, installieren Sie es zuerst. Verwenden Sie zum Beispiel das Terminal.
brew install postgresql
Nach diesem Lauf
bundle install
gem install pg -v '0.17.1'
Hat den Trick für mich getan.
Einige Fälle auf UBUNTU
Sudo apt-get install libpq-dev
Zu CentOS 7
Sudo yum install postgresql-devel
Dann
bundle install
das hat für mich funktioniert.