wake-up-neo.com

gem install pg --with-pg-config funktioniert, Bundle schlägt fehl

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.

66
YuKagi

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

Siehe http://bundler.io/v1.3/bundle_config.html

162

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!

18

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

10

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

7
TTT

Kopieren Einfügen:

bundle config build.pg --with-pg-config=`which pg_config` && bundle

Einzelheiten:

Besuchen Sie für weitere Informationen:

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

5
Inanc Gumus

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.

4
Billy Kovalsky

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
4
AndyM

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.

3
Luke Sheppard

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:

http://postgresapp.com/

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.

3
superluminary

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.

1
NickJ987

Versuche dies:

yum install libpqxx-devel

Es funktioniert mit Postgr9.2.

1
MaciejO

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.

1
Roberto Capelo

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.

0
matrik

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
0
Ronny Kibet
gem install pg -v '0.17.1'

Hat den Trick für mich getan.

0
gabemartinez

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.

0