Je viens d'installer posgresql avec homebrew et quand je vais taper la commande
psql
J'obtiens l'erreur suivante:
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
Quelqu'un at-il une idée de ce qui ne va pas?
postgresql
psql
libreadline
hbejgel
la source
la source
Réponses:
J'obtenais exactement la même erreur, mais les réponses ci-dessus ne fonctionnaient pas pour moi. J'ai dû réinstaller postgresql.
brew reinstall postgresql
la source
pg_upgrade
Le problème clé est que votre postgresql essayait de trouver la
libreadline.6.2.dylib
mais votrereadline
version est7.0
, donc seule la bibliothèque de 7 est liée.Je ne pense pas que la mise à niveau de postgresql soit une bonne idée, ce n'est pas facile et peut causer beaucoup de problèmes, surtout lorsque vous avez déjà des données de base de données.
Ce que je fais, c'est changer de version
readline
. Lorsque vous vérifiezbrew info readline
, vous trouverez différentes versions, la mienne l'est6.3.8
, donc je passe à cette version en exécutant:Il passera à 6.3.8 et créera le lien:
Dans ce cas, toute la bibliothèque liée devient la version 6, et la ligne de commande fonctionne:
Cependant, si vous avez différentes applications utilisant la version différente de readline, je pense que vous devriez envisager une mise à niveau.
Mise à jour: 06/02/2019
Que faire si l'ancienne version n'est pas installée?
Homebrew
ne fournit pas un moyen d'installer l'ancienne formule de version. Et depuis la v2.0.0, il s'exécuterabrew cleanup
comme comportements par défaut tous les 30 jours. Par conséquent, vous pouvez accidentellement mettre à jourbrew
et supprimer l'ancienne version.Voici les étapes pour installer l'ancienne version:
homebrew-core
répertoire:En suivant ces étapes, vous pouvez réinstaller l'ancienne version de formule.
la source
readline
celle -ci qui a été installée? Quels autres inconvénients y a-t-il à faire cela?Si la situation est, vous avez une ligne de lecture de version supérieure, disons 7.0. Tu peux le faire
la source
brew uninstall --force gawk
et puisbrew install gawk
c'est ce qui m'a permis d'être opérationnel. Vous pourriez également être en mesure debrew reinstall --force gawk
pg_top
qui a mis à jour libreadline vers 8.0 et cassé psql. J'ai utilisé votre astuce, sauf qu'il en a fait un lien symboliqueln -s libreadline.8.0.dylib libreadline.7.dylib
Si vous n'avez pas installé readline, installez-le d'abord:
brew install readline
Pour moi, j'obtenais cette erreur, même si j'avais installé readline. La réinstallation de readline a fait l'affaire:
la source
bash
fait:brew install --build-from-source bash
brew reinstall readline
(pour obtenir le breuvage spécifique à Sierra) et pendant que j'y étais ,brew reinstall postgresql94
. Les gens ont dit de réinstaller bash mais je ne l'ai jamais eu au départ. Donc, cette réponse et la réponse choisie ont toutes deux fonctionné pour moi.Cela a fonctionné pour moi
Cela afficherait les versions que vous avez installées. Choisissez-en un. J'ai choisi 7.0.5
J'ai ensuite couru
La version readline a été mise à jour et
psql
s'est bien déroulée.la source
libreadline.7.dylib
, mais j'utilisais readline 8.0.0. Le passage de 8.0.0 à 7.0.5 a résolu le problème. Je m'attends à ce que la création d'un lien symbolique (comme d'autres l'ont fait) fonctionnerait également, si je voulais rester sur 8.0.0. Mais avoir un lien de version plus récente vers une version plus ancienne est trompeur et pourrait potentiellement causer d'autres problèmes.cela a fonctionné pour moi
la source
dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.6.2.dylib
, donc j'ai utiliséln -s /usr/local/opt/readline/lib/libreadline.7.0.dylib /usr/local/opt/readline/lib/libreadline.6.2.dylib
.La solution est de forcer à nouveau la liaison de readline.
la source
Il me semble que le problème concerne la mise à jour du paquet readline. postgres a essayé d'utiliser /usr/local/opt/readline/lib/libreadline.7.dylib dans mon cas. Je viens donc de créer un lien symbolique vers la version existante de la bibliothèque /usr/local/opt/readline/lib/libreadline.8.dylib.
travaillé pour moi:
la source
Aucune de ces solutions n'a fonctionné pour moi; J'ai dû courir:
à partir de: https://github.com/Homebrew/homebrew-core/issues/5799
la source
La réponse ci-dessus n'a pas fonctionné pour moi, donc je voulais publier ce qui a finalement fonctionné. Sur la base d'un fil que j'ai trouvé ici , j'ai dû désinstaller readline et l'installer à nouveau mais à partir de la source.
Après cela, l'erreur psql a disparu.
la source
J'ai eu ce problème, et la clé pour moi était à la
reinstall
foisreadline
etpostgres
. Une fois que postgres a été réinstallé, le problème a été résolu.la source
Une autre façon de corriger psql est de mettre à jour postgresql juste en cours d'exécution
brew upgrade postgresql
car la dernière version utilisera la version readline 7.la source
J'ai eu ce problème lorsque j'ai mis à jour readline vers la version 7 par accident. J'ai désinstallé readline et brew me rappelle que 6.3.8 est toujours installé. Il semble que la version 7 ne fonctionne pas avec PSQL pour le moment.
la source
J'ai essayé toutes ces commandes de terminal et rien n'a fonctionné alors j'ai décidé de le réparer manuellement ..
Ouvrez le viseur et appuyez sur commande + shift + g
vous devriez voir plusieurs versions de ces fichiers
renommer l'un d'eux à la bibliothèque qui n'est pas chargée
la source
J'ai essayé toutes les réponses des aperçus, et rien n'a fonctionné. La seule chose qui a vraiment fonctionné pour moi était:
brew link postgresql
la source
Cela m'avait aidé: désinstaller tous les readline et postgresql
exporter CPPFLAGS = -I / usr / local / opt / readline / inclure exporter LDFLAGS = -L / usr / local / opt / readline / lib
et installez posqtgresql
la source
Les commandes suivantes ont fonctionné pour moi:
la source
J'ai trouvé cette solution utile
https://github.com/Homebrew/homebrew-core/issues/5799
la source
Tu pourrais essayer
brew doctor
voir ce qu'il dit.Peut-être que tout ce dont vous avez besoin est
brew link --overwrite bash
.Pour moi, je viens de mettre à niveau brew depuis OS X EL Capitan avait une mise à niveau de sécurité qui affecte mon
/usr
dossier. Au cours de la mise à niveau de l'infusion, le lien bash est rompu, et c'est ce quebrew doctor
me dit.Alors je cours
brew link --overwrite bash
et tout va bien.la source
Vous voudrez peut-être vérifier si vous avez un autre lien symbolique vers
postgresql
. J'avais précédemment lié au package postgres93 , qui, à partir de mai '17, n'est pas pris en charge et a été supprimé. La suppression de ce lien et la reconnexion ont fonctionné pour moi:la source
Dans mon cas, la bonne réponse n'a pas résolu le problème.
Le problème a commencé après l'exécution
brew doctor
et l'ajoutexport PATH="/usr/local/bin:$PATH"
à mon fichier ~ / .zshrc.Suppression
de l'
~/.zshrc
avoir résolu.la source
Pour une raison inconnue, lorsque cette erreur est apparue pour la prochaine version de Readline, mon RVM semblait incapable de localiser la bonne, peu importe comment je l'ai liée, en lançant:
Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib (LoadError)
J'ai fini par ajouter la gemme
rb-readline
à mon Gemfile et à en faire une autrebundle install
et cela a commencé à fonctionner.Je ... ne sais tout simplement pas.
la source