Ich habe gerade posgresql mit Homebrew installiert und wenn ich fortfahre, tippe ich den Befehl
psql
Ich erhalte folgende Fehlermeldung:
dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.6.2.dylib
Referenced from: /usr/local/bin/psql
Reason: image not found
[1] 69711 trace trap psql
Hat jemand eine Idee, was los ist?
postgresql
psql
libreadline
hbejgel
quelle
quelle
Antworten:
Ich habe genau den gleichen Fehler erhalten, aber die obigen Antworten haben bei mir nicht funktioniert. Ich musste postgresql neu installieren.
brew reinstall postgresql
quelle
pg_upgrade
Das Hauptproblem ist, dass Ihr postgresql versucht hat, die Version zu finden,
libreadline.6.2.dylib
aber Ihrereadline
is-Version7.0
, sodass nur die Bibliothek von 7 verknüpft ist.Ich halte ein Upgrade von postgresql nicht für eine gute Idee, es ist nicht einfach und kann viele Probleme verursachen, insbesondere wenn Sie bereits Datenbankdaten haben.
Was ich tue, ist die Version von zu wechseln
readline
. Wenn Sie überprüfenbrew info readline
, werden Sie verschiedene Versionen finden, meine ist6.3.8
, also wechsle ich zu dieser Version, indem ich Folgendes ausführe:Es ändert sich zu 6.3.8 und erstellt den Link:
In diesem Fall wird die gesamte verknüpfte Bibliothek auf die Version 6 und die Befehlszeile funktioniert:
Wenn Sie jedoch unterschiedliche Apps mit der unterschiedlichen Version von readline verwenden, sollten Sie ein Upgrade in Betracht ziehen.
Update: 06/02/2019
Was ist, wenn die alte Version nicht installiert ist?
Homebrew
bietet keine Möglichkeit, die alte Versionsformel zu installieren. Und seit v2.0.0 wird esbrew cleanup
alle 30 Tage als Standardverhalten ausgeführt. Daher können Sie versehentlichbrew
die alte Version aktualisieren und löschen.Hier sind die Schritte zum Installieren der alten Version:
homebrew-core
Verzeichnis gehen:Wenn Sie diese Schritte ausführen, können Sie die alte Version der Formel neu installieren.
quelle
readline
, die installiert wurde? Welche anderen Nachteile gibt es dabei?Wenn die Situation ist, haben Sie eine höhere Version Readline sagen 7.0. Du kannst das
quelle
brew uninstall --force gawk
und dannbrew install gawk
hat mich zum Laufen gebracht. Sie könnten auch in der Lage sein, nurbrew reinstall --force gawk
pg_top
das libreadline auf 8.0 aktualisiert und psql kaputt gemacht hat. Ich habe deinen Trick benutzt, außer ihn zu einem Symlink gemachtln -s libreadline.8.0.dylib libreadline.7.dylib
Wenn Sie readline nicht installiert haben, installieren Sie es zuerst:
brew install readline
Bei mir wurde dieser Fehler angezeigt, obwohl ich readline installiert hatte. Die Neuinstallation von readline hat den Trick gemacht:
quelle
bash
hatbrew install --build-from-source bash
brew reinstall readline
(um das Sierra-spezifische Gebräu zu bekommen) und dabeibrew reinstall postgresql94
. Die Leute sagten, sie sollten bash neu installieren, aber ich hatte es nie von Anfang an. Diese Antwort und die gewählte Antwort haben also beide für mich funktioniert.Das hat bei mir funktioniert
Dies würde die von Ihnen installierten Versionen anzeigen. Wählen Sie eine aus ihnen. Ich habe 7.0.5 ausgewählt
Ich rannte dann
Die Readline-Version wurde aktualisiert und
psql
lief reibungslos.quelle
libreadline.7.dylib
, aber ich habe readline 8.0.0 verwendet. Der Wechsel von 8.0.0 zu 7.0.5 löste das Problem. Ich gehe davon aus, dass das Erstellen eines Symlinks (wie andere) auch funktionieren würde, wenn ich auf 8.0.0 bleiben wollte. Ein Link zu einer neueren Version zu einer älteren Version ist jedoch irreführend und kann möglicherweise andere Probleme verursachen.das hat bei mir funktioniert
quelle
dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.6.2.dylib
, also habe ich verwendetln -s /usr/local/opt/readline/lib/libreadline.7.0.dylib /usr/local/opt/readline/lib/libreadline.6.2.dylib
.Die Lösung besteht darin, die Verknüpfung der Readline erneut zu erzwingen.
quelle
Mir scheint, das Problem besteht darin, das Readline-Paket zu aktualisieren. postgres hat versucht, in meinem Fall /usr/local/opt/readline/lib/libreadline.7.dylib zu verwenden. Also habe ich gerade einen Symlink zu der vorhandenen Version der Bibliothek /usr/local/opt/readline/lib/libreadline.8.dylib erstellt.
arbeitete für mich:
quelle
Keine dieser Lösungen hat bei mir funktioniert. Ich musste rennen:
von: https://github.com/Homebrew/homebrew-core/issues/5799
quelle
Die obige Antwort hat bei mir nicht funktioniert, deshalb wollte ich posten, was letztendlich funktioniert hat. Basierend auf einem Thread, den ich hier gefunden habe , musste ich readline deinstallieren und erneut installieren, aber von der Quelle.
Danach verschwand der psql-Fehler.
quelle
Ich hatte dieses Problem und der Schlüssel für mich war
reinstall
sowohlreadline
als auchpostgres
. Nach der Neuinstallation von postgres wurde das Problem behoben.quelle
Eine andere Möglichkeit, psql zu reparieren, ist das Update von postgresql, das gerade ausgeführt wird,
brew upgrade postgresql
da die neueste Version die Version readline 7 verwendet.quelle
Ich hatte dieses Problem, als ich versehentlich readline auf Version 7 aktualisiert habe. Ich habe readline deinstalliert und mich daran erinnert, dass 6.3.8 noch installiert ist. Es scheint, dass Version 7 derzeit nicht mit PSQL funktioniert.
quelle
Ich habe alle diese Terminalbefehle ausprobiert und nichts hat funktioniert. Deshalb habe ich beschlossen, sie manuell zu beheben.
Öffnen Sie den Finder und drücken Sie Befehl + Umschalt + g
Sie sollten mehrere Versionen dieser Dateien sehen
Benennen Sie eine von ihnen in die Bibliothek um, die nicht geladen ist
quelle
Ich habe alle Antworten in der Vorschau ausprobiert und nichts hat funktioniert. Das einzige, was wirklich für mich funktioniert hat, war:
brew link postgresql
quelle
Das hatte mir geholfen: alle readline und postgresql deinstallieren
export CPPFLAGS = -I / usr / local / opt / readline / include export LDFLAGS = -L / usr / local / opt / readline / lib
und installiere posqtgresql
quelle
Die folgenden Befehle haben bei mir funktioniert:
quelle
Ich fand diese Lösung hilfreich
https://github.com/Homebrew/homebrew-core/issues/5799
quelle
Du könntest es versuchen
brew doctor
sehen, was es sagt.Möglicherweise brauchen Sie nur
brew link --overwrite bash
.Für mich habe ich gerade ein Upgrade durchgeführt, da OS X EL Capitan ein Sicherheitsupgrade hatte, das sich auf meinen
/usr
Ordner auswirkt . Während des Brau-Upgrades ist die Bash-Verbindung unterbrochen, und das ist wasbrew doctor
sagt mir.Also renne ich einfach
brew link --overwrite bash
und alles ist in Ordnung.quelle
Vielleicht möchten Sie überprüfen, ob noch etwas mit Ihnen verknüpft ist
postgresql
. Ich hatte zuvor auf das postgres93- Paket verlinkt , das ab Mai '17 nicht mehr unterstützt wird und entfernt wurde. Das Entfernen dieses Links und das anschließende erneute Verknüpfen funktionierte für mich:quelle
In meinem Fall hat die richtige Antwort das Problem nicht behoben.
Das Problem begann nach dem Ausführen
brew doctor
und Hinzufügenexport PATH="/usr/local/bin:$PATH"
zu meiner ~ / .zshrc-Datei.Entfernen
von
~/.zshrc
habe es gelöst.quelle
Aus irgendeinem unbekannten Grund schien mein RVM, als dieser Fehler für die nächste Version von Readline auftauchte, nicht in der Lage zu sein, die richtige zu finden, egal wie ich sie verknüpft hatte, und warf:
Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib (LoadError)
rb-readline
Am Ende habe ich den Edelstein zu meiner Gemfile hinzugefügt und einen anderen gemacht,bundle install
und es hat angefangen zu funktionieren.Ich ... weiß es einfach nicht.
quelle