Readline dla komputerów Mac - biblioteka nie została załadowana

16

Pracuję na komputerze Mac, Sierra 10.12.3 i próbuję uzyskać dostęp do bazy danych PostgreSQL za pomocą psqlpolecenia, ale spowodowało to błąd

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

Dzień lub dwa lata temu pracowałem z kimś i musiałem zainstalować pip, więc pobiegłem brew install pipi wszystko było w porządku. Po raz pierwszy próbuję uruchomić psqlod tego czasu i nie jestem pewien, czy to ma coś wspólnego z moim problemem, ale wydaje się prawdopodobne, ponieważ nie wprowadziłem żadnych innych zmian.

Teraz wykonałem trochę pracy detektywistycznej i odkryłem, że jeśli tam pójdę, /usr/local/opt/rzeczywiście istnieje readlinekatalog aliasów, który wskazuje /usr/local/Cellar/readline/7.0.1(wersja 7.0.1 również wydaje się być w pewnym momencie zainstalowana - może jako część pipa? Może to zrobiłem przez pomyłkę ...) więc miało to sens, że pierwotny błąd powinien zostać zgłoszony. Zmieniłem alias, aby wskazywał, /usr/local/Cellar/readline/6.3.8a błąd nieznacznie się zmienił:

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

Wygląda na to, że gdzieś się dostaję , ale wciąż mam problem. Jeśli ktoś mógłby rzucić nieco światła na rozwiązanie, byłbym na zawsze wdzięczny.

skwidbreth
źródło

Odpowiedzi:

12

Byłem w stanie rozwiązać ten problem, po prostu uruchamiając brew switch readline 6.3.8

skwidbreth
źródło
1
Hmm, readline jest już w wersji 8.0.0
koszulka z
Działa dla mnie ... nieco zmieniony: Błąd: readline nie ma wersji „6.3.8” w piwnicy. readline zainstalowane wersje: 6.2.4, 7.0.5, 8.0.1 ➜ przełącznik zaparzania readline 6.2.4
dr. rAI
7

Bieganie brew upgrade gawk działało dla mnie, jak sugeruje @wisbucky

I to naprawiło poniższy błąd po otwarciu nowego terminala:

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

Szczegóły systemu operacyjnego: macOS Mojave wersja 10.14.1 (18B75)

RafiAlhamd
źródło
3

mój problem był spowodowany połączeniem mojego awk z gawk

brew unlink gawk

Scott
źródło
2
Chociaż to działa, usuniesz dowiązania symboliczne gawk, co oznacza, gawkże nie będzie już działać. Aby zachować gawk, zaktualizuj go za pomocą brew upgrade gawk. To również zaktualizuje readlinewersję, ponieważ jest to zależność. A jeśli nie chcesz gawk, to brew uninstall gawk.
wisbucky 30.04.19
1

Dodaj dowiązanie symboliczne

ln -s /usr/local/opt/readline/lib/libreadline.dylib /usr/local/opt/readline/lib/libreadline.7.dylib
zhaoyou
źródło