Bibliothek nicht geladen:/usr/local/lib/libpq.5.4.dylib
-
14-11-2019 - |
Frage
Ich arbeite an einer Rails-App.
Postgresql mit postgresql-9.1.2-1-osx.dmg installiert
Installierte pg gem.
Dann, als ich hingerichtet habe rake db:create
erhalte die folgende Fehlermeldung:
DLOPEN (/Users/sathishvc/.rvm/gesems/ruby-1.9.3-head@knome-vivacience/Gems/pg-0.12.2/lib/pg_ext.bundle, 9):Bibliothek nicht geladen:/usr/local/lib/libpq.5.4.dylib
Überprüft, ob /usr/local/lib/libpq.5.4.dylib
existiert oder nicht.Es tut nicht.
Es sollte also irgendwo anders im System vorhanden sein, sonst weiß ich nicht, ob ich dafür noch eine andere Software installieren muss.
Ratt mir bitte jemand?
Lösung 3
Einige Zeit nachdem ich diese Frage gestellt hatte, fand ich das heraus libpq.5.4.dylib
wohnt in /Library/PostgreSQL/9.1/lib/
.
Daher habe ich folgenden Link erstellt:
lrwxr-xr-x 1 sathishvc admin 43 Jan 28 23:40 /usr/local/lib/libpq.5.4.dylib -> /Library/PostgreSQL/9.1/lib/libpq.5.4.dylib
.
Damit war das Problem dann gelöst.
Andere Tipps
Wenn Sie PostgreSQL mit Homebrew aktualisiert haben (Brew Update && Brew Upgrade), dann deinstallieren Sie einfach das pg-Gem:
gem uninstall pg
bundle install
und der Weg wird für dich korrigiert.Es ist nicht erforderlich, den gesamten PostgreSQL-Cluster zu deinstallieren.
Dieses Problem trat auf, nachdem ich zur PostgresApp gewechselt und die vorhandene PostgreSQL-Version über entfernt hatte
brew remove postgres
Letztendlich habe ich das Problem gelöst, indem ich PostgreSQL über neu installiert habe
brew install postgres
Ich konnte die Verwendung der PostgresApp beibehalten, indem ich Folgendes zu meinem .bash_profile hinzufügte
export PATH="/Applications/Postgres.app/Contents/MacOS/bin:/usr/local/bin:$PATH"
Sie können auch versuchen, Folgendes auszuführen:
brew doctor
Dadurch wurde ich auf diesen und einige weitere Fehler aufmerksam gemacht.
Dieser Fehler beeinträchtigte auch meine Fähigkeit, das Gem „Paperclip“ zu verwenden, da er dazu führte, dass ImageMagick mit demselben Fehler fehlschlug.
(Mit OS X 10.8.2)
In meinem Fall hat die Deinstallation/Neuinstallation von gem nicht geholfen.Aber ich habe den PostgreSQL-Bibliothekspfad hinzugefügt $DYLD_LIBRARY_PATH
Umgebungsvariable in meinem ~/.bash_profile
:
export DYLD_LIBRARY_PATH=/Library/PostgreSQL/9.3/lib:$DYLD_LIBRARY_PATH
Wenn Sie auch MySQL installiert haben, kann diese Zeile so aussehen:
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:/Library/PostgreSQL/9.3/lib:$DYLD_LIBRARY_PATH
Achten Sie natürlich auf die Versionsnummer im PostgreSQL-Pfad, zum Zeitpunkt des Verfassens dieses Artikels ist sie 9.3.Ich verwende RVM, Ruby 2.0.0, pg gem 0.17.0, unter Mac OS X 10.6.
Versuchen brew prune
und dann neu installieren
Dies ist keine direkte Antwort auf die Frage, kann aber häufig auftreten
Zwei weitere Fälle, die von Interesse sein könnten, wenn Sie PostgreSQL mit Homebrew aktualisiert haben:
- Sie haben in der Vergangenheit einige Gem-Versionen beschnitten
- Ihre Anwendung ist älter und kann keine aktuelle Version von pg verwenden (ich habe eine Rails-2-App, die mit pg 0.17 ausfällt und den Server fast zum Erliegen bringt:Das mkmr.log wächst exponentiell ... versuchen Sie es mit 200 GB!)
Möglicherweise stehen Ihnen zahlreiche Versionen von pg zur Verfügung, auf die Sie sich verlassen können
wenn du rennst
gem uninstall pg
Wenn Sie mehr als eine Version haben, werden Sie vom System gefragt, welche Version Sie löschen möchten.Aber diese Liste könnte für Sie nützlich sein!Als Alternative zu awenkhhs Antwort können Sie hier anhalten und Ihre Edelsteine auf eine akzeptable Version zurücksetzen