967 Stimmen

Der Header 'libpq-fe.h' kann nicht gefunden werden, wenn man versucht, pg gem zu installieren

Ich verwende die Vorversion von Ruby on Rails 3.1. Ich würde gerne PostgreSQL verwenden, aber das Problem ist die Installation der pg gem. Ich erhalte die folgende Fehlermeldung:

$ gem install pg
Building native extensions.  This could take a while...
ERROR:  Error installing pg:
    ERROR: Failed to build gem native extension.

        /home/u/.rvm/rubies/ruby-1.9.2-p0/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
    --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=/home/u/.rvm/rubies/ruby-1.9.2-p0/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 /home/u/.rvm/gems/ruby-1.9.2-p0/gems/pg-0.11.0 for inspection.
Results logged to /home/u/.rvm/gems/ruby-1.9.2-p0/gems/pg-0.11.0/ext/gem_make.out

Wie kann ich dieses Problem lösen?

3voto

user2086641 Punkte 4071

Unter CentOS installierte ich libpq-dev package mit folgendem Befehl

yum install postgresql-devel

Ausführen von gem install pg gab den gleichen Fehler wie " No pg_config... trying anyway. If building fails, please try again with --with-pg-config=/path/to/pg_config ".

Die Installation des folgenden Edelsteins löste mein Problem

gem install pg -- --with-pg-config=/usr/pgsql-x.x/bin/pg_config

2voto

Chile Yang Punkte 21

Ich habe dieses Problem schließlich gelöst, allerdings nicht mit den zuvor beschriebenen Methoden.

Verwendung von brew install postgresql Ich finde heraus, dass es bereits installiert, aber nicht verlinkt war.

  1. Finden Sie heraus, wo PostgreSQL installiert ist, und löschen Sie es,

  2. Dann brew install postgresql wieder,

  3. brew link postgresql

  4. gem install pg

1voto

ether_joe Punkte 968

Auf OS X 10.9 (Mavericks), I brew-installed postgresql und ich musste dann rvm reinstall mein Ruby. Ich bin jetzt glücklich :)

1voto

Nick Punkte 2566

Ich hatte das gerade unter OSX mit Brew und postgres@9.4 .

Meine Lösung war diese:

CONFIGURE_ARGS="with-pg-include=/usr/local/opt/postgresql@9.4/include/" bundle install

1voto

Für AltLinux das Paket postgresqlx.x-devel (in meinem Fall postgresql9.5-devel ) muss installiert sein:

apt-get install postgresql9.5-devel

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X