webentwicklung-frage-antwort-db.com.de

Es ist unmöglich, PG gem mit Mavericks auf meinem Mac zu installieren

Ich versuche das pg gem zu installieren, um wieder mit meinen Rails Projekten arbeiten zu können. Aber ich bekomme diesen Fehler:

Erstellen nativer Erweiterungen. Dies kann eine Weile dauern ... FEHLER: Fehler bei der Installation von pg: FEHLER: Fehler beim Erstellen der nativen Erweiterung des Gems.

/Users/jeanosorio/.rvm/rubies/Ruby-2.0.0-p247/bin/Ruby extconf.rb checking for pg_config... no No pg_config... trying anyway. If

erstellen schlägt fehl, bitte versuchen Sie es erneut mit --with-pg-config =/path/to/pg_config und suchen Sie nach libpq-fe.h ... no Der 'libpq-fe.h-Header kann nicht gefunden werden * extconf.rb fehlgeschlagen * Makefile konnte aus irgendeinem Grund nicht erstellt werden, wahrscheinlich mangels notwendiger Bibliotheken und/oder Header. Überprüfen Sie die Datei mkmf.log auf weitere Details. Möglicherweise benötigen Sie Konfigurationsoptionen.

Mitgelieferte Konfigurationsoptionen: --mit-opt-dir --mit-opt-dir --mit-opt-include --mit-opt-include = $ {opt-dir}/include --mit-opt-lib - without-opt-lib = $ {opt-dir}/lib --with-make-prog --with-make-prog --srcdir =. --curdir --Ruby =/Users/jeanosorio/.rvm/rubies/Ruby-2.0.0-p247/bin/Ruby --mit-pg --ohne-pg --mit-pg-config --ohne-pg -config --with-pg_config --with-pg_config --with-pg-dir --with-pg-dir --with-pg-include --with-pg-include = $ {pg-dir}/include - -with-pg-lib --without-pg-lib = $ {pg-dir} /

Gem-Dateien bleiben in /Users/jeanosorio/.rvm/rubies/Ruby-2.0.0-p247/lib/Ruby/gems/2.0.0/gems/pg-0.17.0 zur Überprüfung installiert. In /Users/jeanosorio/.rvm/rubies/Ruby-2.0.0-p247/lib/Ruby/gems/2.0.0/gems/pg-0.17.0/ext/gem_make.out protokollierte Ergebnisse

Ich habe alles versucht, was ich auf stackoverflow gefunden habe, aber ich erhalte immer noch diesen Fehler.

Wenn ich versuche, postgresql mit brew zu installieren, bekomme ich folgende Warnung:

Achtung: postgresql-9.2.4 ist bereits installiert, aber nicht verlinkt

Wenn ich versuche zu verlinken

brauen Link postgresql Linking /usr/local/Cellar/postgresql/9.2.4 ... Warnung: Konnte nicht postgresql verknüpfen. Verknüpfung wird aufgehoben ...

Fehler: Symlink-Datei konnte nicht erstellt werden: /usr/local/Cellar/postgresql/9.2.4/share/man/man7/WITH.7/usr/local/share/man/man7 ist nicht beschreibbar. Sie sollten die Berechtigungen ändern.

Hilfe bitte

HINWEIS: Ich habe bereits die Befehlszeilentools für Außenseiter installiert.


Wenn ich die Installation mit Homebrew deinstalliere und erneut versuche, erhalte ich die folgende Fehlermeldung:

==> Download http://ftp.postgresql.org/pub/source/v9.2.4/postgresql-9.2.4.tar.bz2

############################################# ##################### 100.0%

==> Patch Patch-Datei src/pl/plpython/Makefile Patch-Datei contrib/uuid-ossp/uuid-ossp.c ==> ./configure --prefix =/usr/local/Cellar/postgresql/9.2.4 - datadir =/usr/local/Cellar/postgresql/9.2.4/share/postgresql --docdir =/usr/local/Cellar/p ==> make install-world ==> Vorsichtsmaßnahmen

Erstellen Sie Notizen

Wenn Builds von PostgreSQL 9 fehlschlagen und Sie Version 8.x installiert haben, müssen Sie möglicherweise zuerst die vorherige Version entfernen. Sehen:
https://github.com/mxcl/homebrew/issues/issue/251

Datenbank erstellen/aktualisieren

Wenn dies Ihre erste Installation ist, erstellen Sie eine Datenbank mit: initdb/usr/local/var/postgres -E utf8

Informationen zum Migrieren vorhandener Daten aus einer früheren Hauptversion (vor 9.2) von PostgreSQL finden Sie unter:
http://www.postgresql.org/docs/9.2/static/upgrade.html

Erweiterungen werden geladen

Standardmäßig erstellt Homebrew alle verfügbaren Contrib-Erweiterungen. Um eine Liste aller verfügbaren Erweiterungen anzuzeigen, führen Sie in der psql-Befehlszeile Folgendes aus:
SELECT * FROM pg_available_extensions;

Um einen der Erweiterungsnamen zu laden, navigieren Sie zur gewünschten Datenbank und führen Sie Folgendes aus: CREATE EXTENSION [Erweiterungsname];

Führen Sie beispielsweise Folgendes aus, um die tablefunc-Erweiterung in die aktuelle Datenbank zu laden: CREATE EXTENSION tablefunc;

Weitere Informationen zum Befehl CREATE EXTENSION finden Sie unter:
http://www.postgresql.org/docs/9.2/static/sql-createextension.html Weitere Informationen zu Erweiterungen finden Sie unter:
http://www.postgresql.org/docs/9.2/static/contrib.html

Andere

Für einige Computer muss möglicherweise ein gemeinsamer Speicher bereitgestellt werden:
http://www.postgresql.org/docs/9.2/static/kernel-resources.html#SYSVIPC Bei der Installation des Postgres-Gems, einschließlich ARCHFLAGS, wird Folgendes empfohlen: ARCHFLAGS = "- Arch x86_64 "gem install pg

Informationen zum Installieren von Edelsteinen ohne Sudo finden Sie im Homebrew-Wiki.

Damit launchd postgresql bei der Anmeldung startet: ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents Dann, um postgresql jetzt zu laden: launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist Or Wenn Sie launchctl nicht benötigen, können Sie einfach Folgendes ausführen: pg_ctl -D/usr/local/var/postgres -l /usr/local/var/postgres/server.log start Warnung: Die Verknüpfung von postgresql konnte nicht hergestellt werden. Verknüpfung wird aufgehoben ... Fehler: Das brew link Schritt wurde nicht erfolgreich abgeschlossen Die Formel wurde erstellt, ist jedoch nicht mit/usr/local verknüpft. Sie können es mit `brew link postgresql 'erneut versuchen ==> Summary ???? /usr/local/Cellar/postgresql/9.2.4: 2831 Dateien, 38 Millionen, in 4,9 Minuten erstellt


LÖSUNG:

Ich führe diesen Befehl aus, um die Berechtigung des Ordners zu ändern:

Sudo chown jeanosorio/usr/local/share/man/man7

Dann

link brauen postgresql Linking /usr/local/Cellar/postgresql/9.3.1 ... 421 Symlinks erstellt

Und schlussendlich:

Sudo ARCHFLAGS = "- Arch x86_64" gem install pg

Abrufen: pg-0.17.0.gem (100%) Erstellen nativer Erweiterungen. Dies kann eine Weile dauern ... pg-0.17.0 erfolgreich installiert

95
Jean

Wenn Sie die Verwendung von MacPorts vermeiden möchten, können Sie die Postgres-App herunterladen und im Anwendungsverzeichnis ablegen.

Geben Sie dann den Speicherort des neu heruntergeladenen pg_config:

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

Wenn das Problem mit fehlenden Headern auftritt, geben Sie das Verzeichnis include der App an:

gem install pg -- --with-pg-include='/Applications/Postgres.app/Contents/Versions/latest/include/'
239
Yuri

Benutze brew um postgresql zu bekommen

brew install postgresql

Stellen Sie sicher, dass Sie pg_config im installierten Sud haben. Ich fand meine in

/usr/local/Cellar/postgresql/9.3.3/bin/pg_config

Überprüfen Sie über:

$ ls /usr/local/Cellar/postgresql/9.3.3/bin/pg_config
> /usr/local/Cellar/postgresql/9.3.3/bin/pg_config

Wenn Sie fertig sind, installieren Sie das Juwel pg mit

env ARCHFLAGS="-Arch x86_64" gem install pg -- --with-pg-config=/usr/local/Cellar/postgresql/9.3.3/bin/pg_config
69
Ayush Goel

Ich konnte Postgres nicht über MacPorts installieren. Stattdessen habe ich Postgress.app installiert. und angerufen

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

Hinweis: In neueren Versionen (mindestens in 9.3) lautet der Pfad tatsächlich: /Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config

35
iceui2

Hier ist eine weitere Alternative, falls Sie das postgresql-Installationsprogramm direkt verwenden möchten. Es gibt ein paar Reifen, durch die du springen musst, nachdem du auf Außenseiter umgestiegen bist. Folgendes habe ich getan:

Installieren Sie zuerst die xcode-Befehlszeilentools:

xcode-select --install

Laden Sie die neueste Version von PostgreSQL (9.3.1) herunter und installieren Sie sie. In meinem Fall habe ich nur das grafische Installationsprogramm verwendet. Hier ist der Link zur Downloadseite:

http://www.enterprisedb.com/products-services-training/pgdownload#osx

Wählen Sie einfach alle verfügbaren Standardeinstellungen aus. In meinem Fall wurde postgres in das folgende Verzeichnis installiert. Wenn Sie es in ein anderes Verzeichnis installiert haben, merken Sie sich einfach den gewählten Pfad, da Sie es in Kürze benötigen werden.

/Library/PostgreSQL/9.3

Wenn Sie jetzt versuchen, das neueste pg gem (0.17.0) zu installieren, müssen Sie in der Befehlszeile einige Optionen übergeben. Das habe ich benutzt:

ARCHFLAGS="-Arch x86_64" gem install pg -- --with-pg-config=/Library/PostgreSQL/9.3/bin/pg_config

Wenn Sie postgres an einem anderen Ort installiert haben, müssen Sie den Pfad zur Datei pg_config korrigieren.

Wenn beim Installieren des pg-Gems eine fehlende 'libpq.5.dylib'-Datei beanstandet wird, müssen Sie einen Symlink erstellen, der auf den tatsächlichen Speicherort dieser Datei verweist. Postgres sucht danach in Ihrem/usr/local/lib/-Verzeichnis. Erstellen Sie dort einen Symlink und leiten Sie ihn an den tatsächlichen Speicherort weiter. In meinem Fall musste ich laufen:

Sudo ln -s /Library/PostgreSQL/9.3/lib/libpq.5.dylib /usr/local/lib/libpq.5.dylib

Wenn Sie dies getan haben, versuchen Sie erneut, das Juwel zu installieren. Hoffentlich funktioniert es für Sie genauso wie für mich.

10
2potatocakes

Bei Yosemite musste ich den Pfad pg_config Nicht angeben. Das Folgende hat es geschafft.

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

Es scheint, als wäre die Architekturflagge der Schlüssel.

8
dinigo

Wenn Sie Homebrew haben, geben Sie einfach Folgendes ein:

$ brew install postgresql

8
user2373148

In meinem Fall (ich brauchte PG 0.16.0 auf Mavericks) habe ich postgresql über MacPorts installiert

Sudo port install postgresql90

und dann

gem install pg -v '0.16.0' -- --with-pg-config=/opt/local/lib/postgresql90/bin/pg_config

Für die neueste Version müssen Sie -v '0.16.0' abziehen

gem install pg -- --with-pg-config=/opt/local/lib/postgresql90/bin/pg_config

Wenn Sie Homebrew installiert haben, installieren Sie MacPorts nicht, bevor Sie lesen Sie über deren Koexistenz

5
Gi0

Das ist für mich in Ordnung! (Postgres 93, Mac Ox 10.9.1) 1. Download @ http://postgresapp.com/ und dann

gem install pg -- --with-pg-config=/Applications/Postgres93.app/Contents/MacOS/bin/pg_config
5
meck373

Platziere das fehlende --with-pg-config in Bundlers Konfigurationsdatei: /Users/<your_user>/.bundle/config um dir das leben zu erleichtern.

---
BUNDLE_BUILD__PG: --with-pg-config=/Applications/Postgres93.app/Contents/MacOS/bin/pg_config
BUNDLE_BUILD__EXAMPLE_GEM: --other-configs
BUNDLE_BUILD__OTHER_EXAMPLE_GEM: --other-configs

Dann renne bundle install nochmal.

5
Bruno Buccolo

In meinem Fall hat es nicht funktioniert, wenn Sie die Arch-Flags, OS X 10.10.3 und postersApp 9.4 nicht angegeben haben

Sudo env ARCHFLAGS="-Arch x86_64" gem install pg -- \--with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config
4
Rachidi Mohamed

Ich steckte 3 Tage lang bei meiner Bundle-Installation fest. Versucht Alles wie das Hinzufügen von env ARCHFLAGS = "- Arch x86_64" gem install pg - - mit-pg-config =/usr/local/Cellar/postgresql/9.3.5_1/bin/pg_config

Ich konnte sehen, dass pg gem nach diesem Befehl installiert wurde, aber es wurde immer noch nicht von der Bundle-Installation installiert, was ein Schmerz war, weil ich nicht weiß, was ich in Gemfile schreiben soll, außer gem 'pg'

Die Sache, die letztendlich für mich funktionierte, war zu finden, dass sich meine pg_config in / Library/PostgreSQL/9.3/bin/pg_config befand und standardmäßig sieht die Installation des Gemfile-Bundles in / usr/local/bin/pg_config

Ich habe gerade den folgenden Befehl ausgeführt und es ist Magie passiert. Bundle-Konfiguration build.pg --with-pg-config =/Library/PostgreSQL/9.3/bin/pg_config

4
Neeraj Gupta

In meinem Fall habe ich die über Homebrew installierte Version deinstalliert und auf Postgres.app (v9.3.4.2 zum Zeitpunkt des Schreibens) umgestellt.

Es schien nur zu funktionieren, wenn die Umgebungsarchitektur-Flags vorangestellt wurden und der Pfad zu pg_config Angegeben wurde. Ihre Laufleistung kann variieren, daher kann diese Antwort bei Variationen des Standorts von pg_config Hilfreich sein.

Hier ist der letzte, vollständige Befehl, der für mich funktioniert hat:

env ARCHFLAGS="-Arch x86_64" gem install pg -- \
--with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config 
2
Marius Butuc

Sudo ARCHFLAGS = "- Arch x86_64" gem installiere pg - --with-pg-config =/usr/local/bin/pg_config

2
Taysky

Das hat bei mir funktioniert:

gem install pg -- --with-pg-config=/Library/PostgreSQL/9.3/bin/pg_config
2
tokhi

Der einfachste Weg, dies zu beheben, war, Postgres.app zu verwenden und meine Umgebungsvariablen so einzurichten, dass gem install pg funktioniert einfach (anstatt das --with-pg-config Flagge).

Mit Homebrew Cask ,

brew cask install postgres
echo 'export PG_HOME=/Applications/Postgres.app/Contents/Versions/latest' >> ~/.bash_profile
echo 'export PATH="$PATH:$PG_HOME/bin"' >> ~/.bash_profile
source ~/.bash_profile

# now it just works
gem install pg
2
smoll

Was für mich in 10.9.3 mit Xcode 5.1.1 funktioniert hat, war folgendes:

brew update
brew install postgresql 
gem install pg -v '0.17.1'

Ich brauchte pg 0.17.1

1
Tom Andersen

Unter OS X führen Mavericks mit der neuesten Postgres-App die folgenden Aktionen mit Sudo-Berechtigungen aus

env ARCHFLAGS="-Arch x86_64" gem install pg -v '0.17.1' -- --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config
1

Für jede verlorene Seele gibt es immer noch dieses Problem ohne Lösung und ein brew installiert Ruby und postgres. Hier sind die folgenden Schritte, um sicherzustellen, dass:

  • Stellen Sie sicher, dass Ihre Version von Ruby nicht mit dem Flag --universal Installiert wurde.
    • Das war am schwierigsten herauszufinden, ich hatte --universal, Was die letzte Wurzel des Problems war.
  • Stellen Sie sicher, dass Sie postgresql ordnungsgemäß mit den Befehlen initdb und createdb initialisiert haben (suchen Sie an anderer Stelle nach Schritten, um dies zu tun).
  • Stellen Sie sicher, dass Xcode (optional) und command line tools Installiert sind. auf dem terminal:
    • xcode-select --install
    • Sudo xcodebuild -license (Wenn Xcode installiert ist) oder öffnen Sie die Anwendung und akzeptieren Sie die Lizenzvereinbarung.
    • Computer neu starten
  • which Ruby, which gem Und which postgres Sollten respektvoll /usr/local/bin/Ruby, /usr/local/bin/gem Und /usr/local/bin/postgres Anzeigen.
  • Auf dem Terminal laufen:

    • gem install pg -- --with-pg-config=/usr/local/bin/pg_config
    • oder
    • env ARCHFLAGS="-Arch x86_64" gem install pg -- --with-pg-config=/usr/local/bin/pg_config
  • Um sicherzustellen, dass alle diese Schritte erfüllt sind, konnte ich die folgenden Fehler beheben:

    • Ruby.h - Headerfehler
    • developer tools installed first Fehler
1
link_boy

Beim Ausführen der Bundle-Installation in Bezug auf das pg gem (unter Mac OS X Mavericks) wurde derselbe Fehler angezeigt. Nach stundenlangen Recherchen fand ich die Lösung. Ich habe Postgres mit Homebrew installiert

brew install postgres

Nach der Installation habe ich eine neue Rails App mit postgres erstellt. Ich lief

bundle install

ohne Erfolg (habe den gleichen Fehler wie die Frage). ich benutzte

which psql

um herauszufinden, wo mein Postgres installiert war, kehrte es zurück

/usr/local/bin/psql

bevor ich die Bundle-Installation erneut ausführen konnte, musste ich den globalen Pfad in build.pg ändern, indem ich Folgendes ausführte

bundle config build.pg --with-pg-config=/usr/local/bin/pg_config

dann habe ich das bundle nochmal installiert und voila! Ich habe die Postgres verwendet, wo Brew es installiert hat.

1
Rav Johal

Für mich sah die Fehlermeldung so aus:

Installing pg 0.18.4 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

...

checking for pg_config... no

No pg_config... trying anyway. If building fails, please try again with --with-pg-config=/path/to/pg_config

Wie die Fehlermeldung zeigt, wird versucht, den Befehl/das Skript "pg_config" auszuführen. Fügen Sie es einfach dem Pfad hinzu, von dem aus sich Ihre Postgres-Installation befindet. In meinem Fall habe ich:

export PATH=/Applications/Postgres.app/Contents/Versions/9.5/bin:$PATH

dann

bundle

Das ist es.

0
paneer_tikka

Ich hatte das gleiche Problem, das war die Lösung, die ich gefunden habe.

Wenn du läufst brew doctor, es wird Ihnen mitteilen, dass Sie wahrscheinlich etwas ohne Brew installiert haben, das die Berechtigungen für einige Ordner geändert hat, und Sie müssen daher die Berechtigungen für diesen Ordner wieder auf Sie zurücksetzen.

Innerhalb /usr/local/share/man, was Sie tun können, ist Folgendes:

Sudo chown [yourusername] man7

Und dann:

brew link postgres

Ich hoffe es hilft!

Sudo su 

dann

ARCHFLAGS="-Arch x86_64" gem install pg -v '0.18'

gearbeitet am 10.10.2

0
Keaton Burleson

In ähnlicher Weise verursachte nach der Installation von Mavericks 'Bundle-Update' einen Fehler auf dem pg-Edelstein, der nur in der Produktion und nicht lokal verwendet wird.

Ich verwalte meine Pakete mit Brew und postgresql wurde bereits installiert, aber es wurde immer noch die Fehlermeldung 'no pg_config' angezeigt.

Der Fix bestand darin, nur "postgresql deinstallieren" und dann "postgresql installieren" zu brauen. Danach konnte ich das 'Bundle Update' sofort erfolgreich ausführen

0
Shannon Perkins

Ermitteln Sie zunächst den Speicherort von pg_config

Sudo find / -name "pg_config" -print

Die Antwort lautet /Library/PostgreSQL/9.1/bin/pg_config in meiner Konfiguration (MAC Maverick)

Versuchen Sie dann etwas wie unten zu installieren

gem install pg - --with-pg-config =/Library/PostgreSQL/9.3/bin/pg_config

wenn dies nicht funktioniert, versuchen Sie zu überprüfen, auf welche Weise Sie postgresql installiert haben

brew/Mac Port/Setup

dann musst du die entsprechende option gleich ausprobieren.

Vielen Dank.

RAM

0

Wenn sich nach dem Versuch, alles hier zu tun, immer noch nichts installieren lässt, öffnen Sie Xcode und akzeptieren Sie die Lizenzvereinbarung.

0
hattenn