it-swarm.com.de

pg gem kann nicht installiert werden

Ich habe versucht, gem install pg zu verwenden, aber es scheint nicht zu funktionieren.

gem install pg gibt diesen Fehler aus

Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing pg:
        ERROR: Failed to build gem native extension.

C:/Ruby/bin/Ruby.exe 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=C:/Ruby/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 C:/Ruby/lib/Ruby/gems/1.8/gems/pg-0.10.1 for
inspection.
Results logged to C:/Ruby/lib/Ruby/gems/1.8/gems/pg-0.10.1/ext/gem_make.out
192
Rohit

Beantwortet hier: pg gem kann nicht unter Windows installiert werden

Es gibt keine native Windows-Version von neueste Version von pg (0.10.0) veröffentlicht gestern, aber wenn Sie 0.9.0 installieren, ist es sollte Binärdateien ohne .__ installieren. Probleme.

14
Nikita Barsukov

Ich hatte dieses Problem, das funktionierte für mich:

Installieren Sie das Paket postgresql-devel. Dadurch wird das Problem des fehlenden pg_config gelöst.

Sudo apt-get install libpq-dev
355
Devaroop

Das Problem ist die Abhängigkeit von Gems. Bevor Sie pg installieren, stellen Sie sicher, dass Sie "libpq-dev" installiert haben

Ubuntu-Systeme:

Sudo apt-get install libpq-dev

RHEL-Systeme: 

yum install postgresql-devel

Mac: 

brew installieren Postgresql

64
Mahattam

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

57
Flaviu

@ Winfield sagte es :

Der pg gem erfordert, dass der postgresql-Client libraries eine Bindung herstellt. Dieser Fehler bedeutet normalerweise, dass er Ihre Postgres-Bibliotheken nicht finden kann. Entweder haben Sie sie nicht installiert oder Sie müssen den --with-pg-dir= an Ihre gem-Installation übergeben.

Darüber hinaus benötigen Sie nur --with-pg-config=, um es zu installieren.

Auf einem Mac

Wenn Sie zufällig auch Postgres über das Website-Bundle auf dem Mac installiert haben, wird es irgendwo wie /Applications/Postgres.app/Contents/Versions/9.3/bin angezeigt.

Also, entweder übergeben Sie es bei der Edelsteininstallation:

gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config

Oder Sie stellen Sie den PFAD richtig ein . Da das vielleicht zu viel ist, kann man den PFAD vorübergehend setzen:

export PATH=%PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin/
33
cregox

Ich hatte kein postgresql installiert, also habe ich es einfach mit installiert

Sudo apt-get install postgresql postgresql-server-dev-9.1

auf Ubuntu 12.04.

Das hat es gelöst.


Aktualisieren:

Verwenden Sie die neueste Version:

Sudo apt-get install postgresql-9.3 postgresql-server-dev-9.3
24

In meinem Fall arbeite ich ubuntu 14.04.2 LTS

Sudo apt-get install libpq-dev

und ich benutze 

Ruby 2.2.2 & Schienen 4.2.1

15
Zainal

Wenn Sie Postgres.app auf einem Mac verwenden, können Sie dieses Problem ein für alle Mal beheben:

Zuerst gem uninstall pg, dann bearbeiten Sie Ihre ~/.bash_profile- oder ~/.zshrc-Datei oder ein gleichwertiges Element und fügen Sie hinzu:

# PostgreSQL bin path
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.4/bin

Dann sollten bundle install und gem install pg wie erwartet funktionieren.

10
Darme
$ PATH=$PATH:/Library/PostgreSQL/9.1/bin Sudo gem install pg

ersetzen Sie 9.1 für die auf Ihrem System installierte Version.

9
jstnno

Unter Mac OS (El Capitano). Sie können einfach Folgendes verwenden: brew install postgresql

5
Jones Agyemang

Der pg-gem erfordert, dass die postgresql-Client-Bibliotheken eine Bindung herstellen. Dieser Fehler bedeutet normalerweise, dass er Ihre Postgres-Bibliotheken nicht finden kann. Entweder haben Sie sie nicht installiert oder Sie müssen vielleicht --with-pg-dir = an Ihre Gem-Installation übergeben.

3
Winfield

Verwenden Sie diese Option mit dem Flag Arch.

Sudo env ARCHFLAGS="-Arch x86_64" gem install pg

Dies hat das gleiche Problem gelöst, das Sie haben.

3
Aman Chhabra

Ich würde dieses Problem unter Linux Mint (Maya) 13 behandeln, und ich habe es durch Installieren von postgresql und postgresql-server behoben:

apt-get install postgresql-9.1 

Sudo apt-get install postgresql-server-dev-9.1
2
SAIDI Belkacem

Unabhängig von dem Betriebssystem, das Sie ausführen, sehen Sie sich die Protokolldatei von "Makefile" an, um zu sehen, was los ist. 

In meinem Fall, MAC OS, ist die Protokolldatei hier: 

/Users/za/.rbenv/versions/2.3.0/lib/Ruby/gems/2.3.0/extensions/x86_64-darwin-15/2.3.0-static/pg-1.0.0/mkmf.log

Die Protokolle zeigten, dass die Make-Datei aus folgenden Gründen nicht erstellt werden konnte: 

Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers

In der Datei "mkmf.log" werden Sie feststellen, dass die erforderlichen Bibliotheken zum Abschluss des Builds nicht gefunden werden konnten. 

checking for pg_config... no
Can't find the 'libpq-fe.h header
blah blah

Nachdem ich "brew install postgresql" ausgeführt habe, kann ich sehen, dass alle benötigten Bibliotheken vorhanden sind: 

za:myapp za$ cat /Users/za/.rbenv/versions/2.3.0/lib/Ruby/gems/2.3.0/extensions/x86_64-darwin-15/2.3.0-static/pg-1.0.0/mkmf.log | grep yes
find_executable: checking for pg_config... -------------------- yes
find_header: checking for libpq-fe.h... -------------------- yes
find_header: checking for libpq/libpq-fs.h... -------------------- yes
find_header: checking for pg_config_manual.h... -------------------- yes
have_library: checking for PQconnectdb() in -lpq... -------------------- yes
have_func: checking for PQsetSingleRowMode()... -------------------- yes
have_func: checking for PQconninfo()... -------------------- yes
have_func: checking for PQsslAttribute()... -------------------- yes
have_func: checking for PQencryptPasswordConn()... -------------------- yes
have_const: checking for PG_DIAG_TABLE_NAME in libpq-fe.h... -------------------- yes
have_header: checking for unistd.h... -------------------- yes
have_header: checking for inttypes.h... -------------------- yes
checking for C99 variable length arrays... -------------------- yes
2
zee

Für Mac-Benutzer

PATH=$PATH:/Library/PostgreSQL/9.4/bin/ gem install pg

Das sollte den Trick tun

2
Ronak Jain

Wenn Sie jruby anstelle von Ruby verwenden, treten bei der Installation des pg-gem ähnliche Probleme auf. Stattdessen müssen Sie den Adapter installieren: 

gem 'activerecord-jdbcpostgresql-adapter'
1
Nuri

Ich musste dies auf CentOS 5.8 tun. Die Ausführung von bundle install verursachte weiterhin Probleme, da ich nicht die Verwendung einer bestimmten PG-Version erzwingen konnte.

Ich kann yum erase postgresql postgresql-devel auch nicht, wegen Abhängigkeitsproblemen (es würde PHP, http usw. entfernen)

Die Lösung? $ PATH vorübergehend angeben, um dem Update pgsql den Vorzug zu geben, anstatt dem Standard-Update:

export PATH=/usr/pgsql-9.2/bin:$PATH
bundle install

Grundsätzlich wird mit den obigen Befehlen auf /usr/pgsql-9.2/bin/pg_config vor dem in /usr/bin/pg_config

1
Christian

Auf dem Mac brew install postgres DANN bundle install

1
Yar HTUT

Gehen Sie einfach zu here , um zu prüfen, ob Ihre PG-Version die Win32-Plattform unterstützt.

gem install pg -v 0.14.1 --platform = x86-mingw32

0
revskill

Ich habe seit Jahren dieses lästige Problem mit PG. Ich habe diese Gist erstellt, um zu helfen.

Der folgende Befehl funktioniert immer für mich.

# Substitute Postgres.app/Contents/Versions/9.5 with appropriate version number
Sudo ARCHFLAGS="-Arch x86_64" gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.5/bin/pg_config

Gist: https://Gist.github.com/sharnie/5588340cf023fb177c8d

0
SharnieIvery