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?

6voto

mwalsher Punkte 2700

Ich hatte dieses Problem mit Postgresql 9.6. Ich konnte es beheben, indem ich Folgendes tat:

brew upgrade postgresql@9.6
brew link postgresql@9.6 --force
gem install pg

5voto

rassom Punkte 2846

Ich hatte das gleiche Problem unter Mac OS, aber ich konnte das PostgreSQL-Gem problemlos installieren, indem ich folgendes in einem Terminal eingegeben habe:

ARCHFLAGS="-arch x86_64" gem install pg

(Ich habe PostgreSQL zuerst mit brew install postgresql .)

5voto

Mario Punkte 817

Auf einem Mac habe ich das Problem mit diesem Code gelöst:

gem install pg -v '0.18.4' -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config

5voto

Martin Streicher Punkte 1925

Ich habe kürzlich ein Upgrade auf Mac OS X v10.10 (Yosemite) und hatte Schwierigkeiten bei der Erstellung des pg gem.

Der gemeldete Fehler war der typische:

Using config values from /usr/local/bin/pg_config
checking for libpq-fe.h... *** extconf.rb failed ***

Meine Lösung war gem uninstall pg und dann bundle update pg um den Edelstein durch den neuesten zu ersetzen. Ich habe ausgeführt brew update; brew upgrade nach der Yosemite-Installation, um die neuesten Versionen der Pakete zu erhalten, die ich zuvor installiert hatte.

5voto

Cynthia Sanchez Punkte 178

Ich habe diese Antwort gefunden, und es war die einzige, die bei mir (Mac OS) funktionierte - nachdem ich etwa zwei Tage lang gesucht hatte:

$ sudo su

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

Building native extensions.  This could take a while...
Successfully installed pg-0.11.0
1 gem installed
Installing ri documentation for pg-0.11.0...
Installing RDoc documentation for pg-0.11.0...

Siehe Stack Overflow Frage Die PostgreSQL-Client-Bibliothek (libpq) kann nicht gefunden werden .

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