Ich versuche, das pg-Juwel für die Verwendung mit Postgres.app auf meinem lokalen Computer zu installieren. Ich leite Mavericks.
Postgres.app ist installiert und läuft einwandfrei, aber ich kann das Juwel nicht zum Laufen bringen. Ich habe folgendes getan:
- Verwendete den Befehl 'env ARCHFLAGS = "- arch x86_64" gem install pg - --with-pg-config = / Applications / Postgres.app / Contents / MacOS / bin / pg_config' aus der Postgres.app-Dokumentation
- Homebrew wurde aktualisiert und Apple GCC 4.2 installiert
- Installierte die Xcode-Entwicklertools
- Mein $ PATH wurde aktualisiert, um sowohl auf die Verzeichnisse Postgres.app bin als auch lib zu verweisen
Alles ohne Erfolg. Hier ist die spezifische Fehlermeldung, die ich erhalte:
Building native extensions with: '--with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config'
This could take a while...
ERROR: Error installing pg:
ERROR: Failed to build gem native extension.
/Users/Brian/.rvm/rubies/ruby-2.0.0-p353/bin/ruby extconf.rb --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config
Using config values from /Applications/Postgres.app/Contents/MacOS/bin/pg_config
sh: /Applications/Postgres.app/Contents/MacOS/bin/pg_config: No such file or directory
sh: /Applications/Postgres.app/Contents/MacOS/bin/pg_config: No such file or directory
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=/Users/Brian/.rvm/rubies/ruby-2.0.0-p353/bin/ruby
--with-pg
--without-pg
--with-pg-config
--with-pg-dir
--without-pg-dir
--with-pg-include
--without-pg-include=${pg-dir}/include
--with-pg-lib
--without-pg-lib=${pg-dir}/
Ich würde mich über jede Hilfe freuen, die Sie anbieten können. Vielen Dank!
ruby-on-rails
macos
postgresql
osx-mavericks
pg
Blundin
quelle
quelle
Antworten:
Sie haben wahrscheinlich den falschen Weg für
--with-pg-config
, überprüfen Sie, ob es tatsächlich da ist.Sie finden den richtigen Weg zu
pg_config
:In der neuesten Postgres.app-Version lautet der Pfad:
gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.5/bin/pg_config
quelle
$ gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config .
gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config .
Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config
. Man sollte in der Lage sein herauszufinden, wo sich ihre pg_config befindet, indemls
man dasApplications/Postgres.app/Contents
Verzeichnis durchsucht . Sehen Sie, ob Sie haben/Contents/MacOS
oder/Contents/Versions
...In meinem Fall (mit Postgres.app v9.3.4.2) schien es nur zu funktionieren, wenn die Flags der Umgebungsarchitektur vorangestellt wurden:
env ARCHFLAGS="-arch x86_64" gem install pg -- \ --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config
quelle
export ARCHFLAGS="-arch x86_64"
. Ohne mich funktioniert PG nicht.bundle
Befehl hinzufügen kann . Sie könnenbundle config pg.build "...."
mehr unter bundler.io/v1.3/man/bundle-config.1.htmlDa ich auf einem brandneuen Mac war, musste ich Folgendes tun:
Führen Sie nun aus (hoffentlich ein zukunftssicherer Befehl):
version=$(ls /Applications/Postgres.app/Contents/Versions/ | tail -1) gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/$version/bin/pg_config .
Wenn Sie Probleme haben, können Sie eine kleine Fehlerbehebung durchführen, indem Sie den tatsächlichen Fehler im mkmf.log überprüfen, den Sie durch Ausführen finden können (wenn Sie rvm verwenden):
quelle
Ich konnte pg mit diesem Befehl installieren
gem install pg -- --with-pg-config=/Library/PostgreSQL/9.3/bin/pg_config
Ich fand meinen Weg durch Laufen
und ich habe pg-0.17.1 erfolgreich installiert
quelle
pg_config
Datei mit diesem Befehl, so müssen Sie alle Dateien auf Ihrem Computer nicht durchsuchen: Eine$ find /Applications/Postgres.app/ -name "pg_config"
Durchsuchung/Library/
würde auf Ihrem Computer arbeitet.Das Hinzufügen des Postgress Bin-Verzeichnisses zum Pfad reicht ebenfalls aus. Fügen Sie einfach den Behälter wie folgt zum Pat hinzu. Bei den letzten Installationen stellt der neueste symbolische Link sicher, dass dieser Pfad für zukünftige Versions-Upgrades "stabil" ist.
quelle
gem install
funktioniert hat:PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin gem install pg
Um dieses Problem zu beheben, habe ich Postgres mit Homebrew mithilfe der folgenden Anweisungen im Terminalfenster installiert:
brew install postgres
Homebrew finden Sie hier
http://brew.sh
quelle
brew uninstall postgres
wenn es da ist.Das hat bei mir funktioniert:
gem install pg -- --with-pg-config=`which pg_config`
quelle
Zum späteren Nachschlagen, da viele von uns neue Pfade für die neuen Versionsnummern veröffentlichen:
Derzeit bin weil ich einen Symlink genannt
latest
in/Applications/Postgres.app/Contents/Versions/
.Sie sollten in der Lage sein, einfach zu tun:
$ gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/latest/bin/pg_config
Und vergessen Sie die Versionsnummer. Dies gilt möglicherweise nicht für jede (ältere) Version, aber ich selbst suchte nach einem Ausschnitt, den ich speichern und wiederverwenden konnte.
quelle