Ligne de lecture Mac - Bibliothèque non chargée

15

Je travaille sur un Mac, Sierra 10.12.3, et j'essaie d'accéder à une base de données PostgreSQL via la psqlcommande, mais cela a jeté l'erreur

dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.6.dylib
Referenced from: /usr/local/bin/psql
Reason: image not found
Abort trap: 6

Il y a un jour ou deux, je travaillais avec quelqu'un et j'avais besoin d'installer pip, alors j'ai couru brew install pip, et tout allait bien. C'est la première fois que j'essaie de courir psqldepuis et je ne suis pas certain que cela ait quoi que ce soit à voir avec mon problème, mais il semble probable que je n'ai apporté aucun autre changement.

Maintenant, j'ai fait un petit travail de détective et j'ai constaté que si j'allais, il /usr/local/opt/y avait en effet un readlinerépertoire d'alias qui pointait vers /usr/local/Cellar/readline/7.0.1(la version 7.0.1 semble également s'être installée à un moment donné - peut-être dans le cadre de pip? Peut-être que je l'ai fait par erreur ...) il était donc logique que l'erreur d'origine soit levée. J'ai changé l'alias pour pointer /usr/local/Cellar/readline/6.3.8et l'erreur a légèrement changé:

dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.6.dylib
Referenced from: /usr/local/bin/psql
Reason: no suitable image found.  Did find:
/usr/local/opt/readline/lib/libreadline.6.dylib: stat() failed with errno=20
Abort trap: 6

Il semble donc que j'arrive quelque part , mais j'ai toujours un problème. Si quelqu'un peut faire la lumière sur une solution, je serais éternellement reconnaissant.

skwidbreth
la source

Réponses:

12

J'ai pu résoudre ce problème en exécutant simplement brew switch readline 6.3.8

skwidbreth
la source
1
Hmm, readline est déjà sur v8.0.0
jersey bean
Fonctionne pour moi ... légèrement modifié: Erreur: readline n'a pas de version "6.3.8" dans la cave. readline versions installées: 6.2.4, 7.0.5, 8.0.1 ➜ commutateur de brassage readline 6.2.4
dr. rAI
6

La course à pied a brew upgrade gawk fonctionné pour moi, comme l'a suggéré @wisbucky

Et cela a corrigé l'erreur ci-dessous, lors de l'ouverture d'un nouveau terminal:

dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib
  Referenced from: /usr/local/bin/awk

Détails du système d'exploitation: macOS Mojave version 10.14.1 (18B75)

RafiAlhamd
la source
3

mon problème était dû à mon awk lié à gawk

brew unlink gawk

Scott
la source
2
Pendant que cela fonctionne, vous supprimerez les liens symboliques vers gawk, ce qui signifie que gawkcela ne fonctionnera plus. Pour conserver gawk, mettez -le à niveau avec brew upgrade gawk. Cela mettra également à jour la readlineversion car il s'agit d'une dépendance. Ou si vous ne voulez pas gawk, alors brew uninstall gawk.
wisbucky
1

Ajouter un lien symbolique

ln -s /usr/local/opt/readline/lib/libreadline.dylib /usr/local/opt/readline/lib/libreadline.7.dylib
zhaoyou
la source