it-swarm.com.de

Probleme mit Rails und Postgres nach einem Update auf OS X 10.9 Mavericks

Nach dem Update auf OS X 10.9 Mavericks habe ich versucht, eine Rails 3-App zu starten, aber die Verbindung zur PG-Datenbank funktionierte nicht. Beim Überprüfen auf PGAdmin III ist die Datenbank noch vorhanden und funktioniert einwandfrei. Also habe ich versucht, das pg gem neu zu installieren:

gem uninstall pg
gem install pg

Der letzte Befehl schlägt jedoch fehl und gibt den folgenden Fehler aus:

Native Erweiterungen erstellen. Dies kann eine Weile dauern ... ERROR: Fehler Bei der Installation von pg: 

FEHLER: Die native Erweiterung von Gem konnte nicht erstellt werden.

    /Users/XXX/.rvm/rubies/Ruby-1.9.3-p194/bin/Ruby extconf.rb checking for pg_config... yes Using config values from

/usr/local/bin/pg_config * extconf.rb fehlgeschlagen * Das Makefile konnte aus irgendeinem Grund nicht erstellt werden. Möglicherweise fehlen die erforderlichen Bibliotheken und/oder Header. Überprüfen Sie Der Datei mkmf.log, um weitere Informationen zu erhalten. Möglicherweise benötigen Sie Konfigurationsoptionen .

/Users/XXX/.rvm/rubies/Ruby-1.9.3-p194/lib/Ruby/1.9.1/mkmf.rb:381:in `Try_do ': Der Compiler konnte keine ausführbare Datei erstellen .

(RuntimeError) Sie müssen zuerst Entwicklungswerkzeuge installieren. from /Users/XXX/.rvm/rubies/Ruby-1.9.3-p194/lib/Ruby/1.9.1/mkmf.rb:461:in g.____.] try_link0' from /Users/XXX/.rvm/rubies/Ruby-1.9.3-p194/lib/Ruby/1.9.1/mkmf.rb:476:in try_link 'von extconf.rb : 39: in ''

Ich denke, das Problem hängt mit den Xcode-Entwicklertools zusammen. Ich habe Xcode auf die neueste Version aktualisiert, aber das Problem wurde dadurch nicht gelöst. Wissen Sie, wie Sie das Problem beheben können?

20
Abramodj

Mit homebrew korrigierte ich das:

gem uninstall pg
brew install Apple-gcc42
gem install pg

EDIT: Ich habe auch "devtools" manuell installiert

xcode-select --install
19
codenamev

Sie haben Recht, dass das Problem mit den Xcode-Entwicklerwerkzeugen zusammenhängt. Es ist keine schlechte Idee, sicherzustellen, dass alle Entwicklertools installiert sind (im Gegensatz zur alleinigen Installation von gcc, wie in der vorherigen Antwort erwähnt):

  1. Öffne Xcode
  2. Wählen Sie im Anwendungsmenüpunkt "Xcode" Open Developer Tool> Weitere Developer Tools ... aus.
  3. Dies bringt Sie zu einer Site mit einer Menge Software. Laden Sie "Command Line Tools (OS X Mavericks) für Xcode - Ende Oktober 2013" herunter und installieren Sie es.
  4. Sie können den Edelstein nun ordnungsgemäß installieren.

Für alle anderen Benutzer, die aus einer Neuinstallation der Postgres 9.3.0-App unter Mac OS X Mavericks zu diesem Problem kommen (dh Sie verwenden kein Homebrew für Ihre Postgres-Installation), stellen Sie möglicherweise fest, dass Sie zwar den pg-Edelstein erstellen können Rake kann wegen eines Dylib-Problems nicht ausgeführt werden: 

rake aborted!
dlopen(/Users/[USERNAME]/.rbenv/versions/2.0.0-p195/lib/Ruby/gems/2.0.0/gems/pg-0.15.1/lib/pg_ext.bundle, 9): Library not loaded: @loader_path/../lib/libpq.5.dylib
  Referenced from: /Users/[USERNAME]/.rbenv/versions/2.0.0-p195/lib/Ruby/gems/2.0.0/gems/pg-0.15.1/lib/pg_ext.bundle
  Reason: image not found - /Users/[USERNAME]/.rbenv/versions/2.0.0-p195/lib/Ruby/gems/2.0.0/gems/pg-0.15.1/lib/pg_ext.bundle

Leider ist dies ein Problem mit der aktuellen Release-Version von 9.3.0 von Postgres. Wenn Sie auf eine frühere Version zurückgreifen, wird dies für Sie behoben:

  1. deinstalliere den pg gem: gem uninstall pg
  2. löschen Sie Ihre 9.3.0 Postgres-App, indem Sie sie in den Papierkorb ziehen und den Papierkorb leeren
  3. installieren Sie die Version 9.2.2.0 der Postgres-App hier: http://postgres-app.s3.amazonaws.com/PostgresApp-9-2-2-0.Zip
  4. den pg gem neu installieren: gem install pg

* Danke an den Kommentar von jhiro009 zu diesem Thread , der mich in diesem letzten Postgres-App-Teil der Ausgabe in die richtige Richtung zeigte, obwohl die von ihm erwähnte Version 9.2.4.3 für mich nicht funktionierte.

22
schmielson

Unter OS X Mavericks

Sudo ln -s /usr/bin/llvm-gcc /usr/bin/gcc-4.2
gem uninstall pg; gem install pg;

funktioniert mit der Installation von Homebrew Postgresql (9.3.1) und der Installation von Apple Command Line Tools (S. 0.17.0).

8
guapolo

Keine der Lösungen funktionierte für mich, und ich wollte MacPorts nicht verwenden. Testen Sie die Postgres App und laden Sie sie in das Anwendungsverzeichnis.

Geben Sie dann den Ort des neu heruntergeladenen pg_config an, der sich in der App befindet: 

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

Wenn Sie sich mit fehlenden Kopfzeilenproblemen beschäftigen, versuchen Sie, das Verzeichnis include der App anzugeben:

gem install pg -- --with-pg-include='/Applications/Postgres.app/Contents/MacOS/include/'
3
Yuri

Keine der vorherigen Lösungen funktionierte für mich (ich habe gerade ein Upgrade auf Mavericks durchgeführt und XCode aktualisiert). Stattdessen habe ich Postgress.app installiert. und angerufen 

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

Wenn Sie nur eine schnelle Lösung suchen, fügen Sie der Datei database.yml Folgendes hinzu:

Host: localhost

Ich hatte das genaue Problem, fügte diese Zeile hinzu, und jetzt ist alles gut.

2
Don Sullivan

Ich hatte nach diesem Beitrag von den Jungs von New-Bamboo Glück:

3 Tipps zum Kodieren mit OS X 10.9 Mavericks

Nach der Installation der xcode dev-Tools hat der dritte Schritt alles geklärt:

brew tap homebrew/versions && brew install Apple-gcc42
brew link --force Apple-gcc42
ln -nsf $(which gcc-4.2) /usr/bin/gcc-4.2
0
purpletonic