Wenn ich versuche, Bundle auszuführen (Bundle-Installation), bekomme ich die ganze Zeit
Installing pg (0.13.2) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/Users/ryan/.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
--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=/Users/ryan/.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 /Users/ryan/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.13.2 for inspection.
Results logged to /Users/ryan/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.13.2/ext/gem_make.out
An error occured while installing pg (0.13.2), and Bundler cannot continue.
Make sure that `gem install pg -v '0.13.2'` succeeds before bundling.
Ich verwende Mac OS X 10.6, die Version von installiertem PostgreSQL ist 9.1. Ich habe festgestellt, dass das Problem in libpq-dev liegt. Wie kann ich das installieren / beheben?
ruby-on-rails
macos
postgresql-9.1
pg
libpq
user984621
quelle
quelle
sudo port install libpq-dev
, aber ein anderes Problem -Error: Port libpq-dev not found To report a bug, see <http://guide.macports.org/#project.tickets>
. Das ist schrecklich, immer noch einige Probleme ...Antworten:
Wie in Ihrem Fehlerprotokoll angegeben, müssen Sie den Pfad zur pg_config übergeben. Versuchen Sie, den Edelstein zu installieren, indem Sie:
Wenn Sie nicht sicher sind, wo sich Ihre pg_config befindet, und davon ausgehen, dass Sie unter Linux oder Mac arbeiten, können Sie den folgenden Befehl ausführen:
Ihre pg-config kann sich an verschiedenen Orten befinden, je nachdem, wie Sie postgres installiert haben.
quelle
pg_config
Programm.pg_config
(zB bei/Library/PostgreSQL/9.1/bin/pg_config
für 9.1.x) und die Entwicklungs - Header. Es ist das, was ich benutze, um daspg
Juwel in der Entwicklung zu testen .which pg_config
schneller alsfind / -name pg_config
?brew install libpqxx
und alles wird gut.Wenn Sie unter Linux arbeiten, könnte Sie interessieren, was für mich funktioniert hat:
Dann
dann
src: http://wikimatze.de/installing-postgresql-gem-under-ubuntu-and-mac
quelle
Wenn Sie Postgress.app verwenden, möchten Sie Zugriff auf die Befehlszeilentools . Geben Sie die folgende Zeile in Ihr Terminal oder Ihr PATH-Profil ein :
gem install pg
sollte jetzt funktionieren. (Das hat bei mir funktioniert.)Hinweis Der Pfad für neue Versionen sieht folgendermaßen aus:
quelle
/Applications/Postgres.app/Contents/Versions/9.3/bin
ab 9.3.5, wenn Sie die Postgres.appWenn Sie Homebrew haben, geben Sie einfach Folgendes ein:
Wenn Sie es nicht haben, laden Sie es herunter und geben Sie es in Ihr Terminal ein:
quelle
Suche nach libpq:
Sollte ausgeben
libpqxx
Versuchen Sie dann, es zu installieren:
quelle
Sie müssen nur installieren
libpq-dev
:Dann sollte der Edelstein gut installiert werden.
quelle
Befolgen Sie die Anweisungen nach der Installation: http://postgresapp.com/documentation/configuration-ruby.html
Stellen Sie zum Installieren des pg-Gems sicher, dass Sie $ PATH korrekt eingerichtet haben (wie unter http://postgresapp.com/documentation/cli-tools.html angegeben ), und führen Sie es dann aus
sudo ARCHFLAGS="-arch x86_64" gem install pg
Ich empfehle dringend , beide Seiten zu lesen. Ich habe sie nur überflogen und 1 Stunde meines Lebens verloren. Lesen Sie sie, Problem gelöst.
quelle
Das Problem, das ich hatte, war, dass es aus irgendeinem Grund versuchte, mit /usr/bin/gcc-4.2 zu kompilieren. Ich habe das herausgefunden, indem ich try_cpp in mkmf.rb (das ich im Stack-Trace gesehen habe) geändert habe, um eine Ausnahme mit der fehlgeschlagenen Kompilierungszeile auszulösen.
Ich habe gcc mit gcc-4.2 verknüpft und es hat funktioniert:
Warum wurde versucht, gcc-4.2 zu verwenden? Keine Ahnung.
Die eigentliche Kompilierungszeile:
quelle
Ich habe das gleiche Problem, aber mein Postgres wurde installiert
/Library/PostgreSQL/9.3
Das ~ / .bash_profile wurde aktualisiert, indem Folgendes hinzugefügt wurde:
Öffne ein neues Terminal, starte
bundle update
und es hat auch bei mir funktioniert. Danke Ari.quelle
Sie können eine Build-Konfigurationsoption festlegen
bundle config build.pg --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config
undgem install pg
ohne Optionen verwenden (der Pfad zu pg_config kann für Sie unterschiedlich sein, dieser ist für Postgresapp 9.3.5.0).quelle
Ich hatte das gleiche Problem in meinem openSUSE13.1 KDE-Computer. Vor diesem Problem begegnete ich mir nur die Pakete installiert hatte
postgresql
undpostgresql-server
mitzypper
Befehl. Dann wieder installiert 2 weitere Pakete:Dann rannte ich wieder
bundle install
und Erfolg !!!quelle
Eine funktionierende OSX-Lösung finden Sie in diesem Handbuch unter http://krugerdavid.com/journal/how-to-install-xcode-homebrew-git-rvm-postgresql-ruby-1-9-3-on-snow-leopard/
Sie werden durch die Installation von PostgreSQL mit Homebrew geführt. Getestet und für mich unter OSX 10.8.3, PostgreSQL 9.2.3 und Ruby 2.0.0-p0 gearbeitet
quelle
Deinstallieren Sie zunächst alle Homebrew-Versionen. Mit der Option --force werden alle Versionen deinstalliert.
Ändern Sie die Pfade entsprechend für Ihre Version.
Bearbeiten Sie / etc / profile und löschen Sie alle Zeilen, die auf "postgres" verweisen.
Installieren Sie PostgresSQL
Installieren Sie de PG GEM
Das ist es. Grüße.
quelle
Sie können zunächst überprüfen, ob sich in Ihrem Terminal eine postrgresql-Datei befindet, indem Sie zur lib-Datei wechseln. Gehen Sie zu cd ~ / opt / local / lib / und geben Sie dann ls und die Eingabetaste ein. Dies zeigt Ihnen eine Liste aller Dateien, die sich im lib-Verzeichnis befinden.
1.Wenn Sie keine Postreseql haben, können Sie diese über Macports herunterladen. sudo port install postgresql93 @ 9.3.2_1
CD jetzt zurück in Ihren Ordner, den Sie installieren möchten
Führen Sie nun die Bundle-Installation aus
quelle
Auf Fedora:
quelle
Was für mich bei El Capitan funktionierte, war das Upgrade von Ruby von der Systemvorgabe auf 2.3.1. Es schien die richtigen Bibliotheken zu finden, die das
pg
Juwel benötigte.quelle