Właśnie zainstalowałem posgresql z homebrew i kiedy idę, aby wpisać polecenie
psql
Otrzymuję następujący błąd:
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
Czy ktoś ma pojęcie o tym, co jest nie tak?
postgresql
psql
libreadline
hbejgel
źródło
źródło
Odpowiedzi:
Otrzymałem dokładnie ten sam błąd, ale powyższe odpowiedzi nie działały dla mnie. Musiałem ponownie zainstalować postgresql.
brew reinstall postgresql
źródło
pg_upgrade
Kluczowym problemem jest to, że twój postgresql próbował znaleźć wersję
libreadline.6.2.dylib
ale twojareadline
jest7.0
, więc tylko lib 7 jest połączony.Nie sądzę, aby aktualizacja postgresql była dobrym pomysłem, nie jest łatwa i może powodować wiele problemów, szczególnie gdy masz już dane z bazy danych.
To, co robię, to zmiana wersji
readline
. Kiedy sprawdziszbrew info readline
, znajdziesz różne wersje, moja jest6.3.8
, więc przełączam się na tę wersję, wykonując:Zmieni się na 6.3.8 i utworzy link:
W takim przypadku cała połączona biblioteka staje się wersją 6, a wiersz poleceń działa:
Jeśli jednak masz różne aplikacje korzystające z innej wersji readline, myślę, że powinieneś rozważyć aktualizację.
Aktualizacja: 06.02.2019
Co się stanie, jeśli stara wersja nie zostanie zainstalowana?
Homebrew
nie zapewnia sposobu na zainstalowanie starej wersji formuły. Od wersji 2.0.0 będzie działaćbrew cleanup
jako zachowanie domyślne co 30 dni. Dlatego możesz przypadkowo zaktualizowaćbrew
i usunąć starą wersję.Oto kroki, aby zainstalować starą wersję:
homebrew-core
katalogu:Po wykonaniu tych kroków możesz ponownie zainstalować starą wersję formuły.
źródło
readline
zainstalowanej wersji? Jakie są jeszcze inne wady?Jeśli sytuacja jest taka, masz wyższą wersję readline powiedz 7.0. Możesz to zrobić
źródło
brew uninstall --force gawk
czymbrew install gawk
było to, co masz mnie i działa. Być może będziesz w stanie po prostubrew reinstall --force gawk
pg_top
uaktualnioną wersję libreadline do wersji 8.0 i zepsułem psql. Wykorzystałem twoją sztuczkę, ale uczyniłem ją dowiązaniem symbolicznymln -s libreadline.8.0.dylib libreadline.7.dylib
Jeśli nie masz zainstalowanego readline, najpierw go zainstaluj:
brew install readline
Dla mnie pojawiał się ten błąd, mimo że zainstalowałem readline. Ponowna instalacja readline załatwiła sprawę:
źródło
bash
zrobiła:brew install --build-from-source bash
brew reinstall readline
(aby uzyskać napar specyficzny dla Sierra) i jednocześniebrew reinstall postgresql94
. Ludzie mówili, aby ponownie zainstalować bash, ale nigdy nie miałem tego od samego początku. Tak więc ta odpowiedź i wybrana odpowiedź działały dla mnie.To zadziałało dla mnie
Spowoduje to wyświetlenie zainstalowanych wersji. Wybierz jedną z nich. Wybrałem 7.0.5
Wtedy pobiegłem
Wersja readline została zaktualizowana i
psql
działała płynnie.źródło
libreadline.7.dylib
, ale użyłem readline 8.0.0. Przejście z wersji 8.0.0 na 7.0.5 rozwiązało problem. Oczekuję, że utworzenie dowiązania symbolicznego (tak jak zrobili to inni) również zadziałałoby, gdybym chciał pozostać na 8.0.0. Ale posiadanie nowszej wersji łącza do starszej wersji jest mylące i może potencjalnie powodować inne problemy.to działało dla mnie
źródło
dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.6.2.dylib
, więc użyłemln -s /usr/local/opt/readline/lib/libreadline.7.0.dylib /usr/local/opt/readline/lib/libreadline.6.2.dylib
.Rozwiązaniem jest ponowne wymuszenie połączenia readline.
źródło
Wydaje mi się, że problem dotyczy aktualizacji pakietu readline. postgres próbował użyć /usr/local/opt/readline/lib/libreadline.7.dylib w moim przypadku. Właśnie utworzyłem dowiązanie symboliczne do istniejącej wersji biblioteki /usr/local/opt/readline/lib/libreadline.8.dylib.
pracował dla mnie:
źródło
Żadne z tych rozwiązań nie działało dla mnie; Musiałem biec:
od: https://github.com/Homebrew/homebrew-core/issues/5799
źródło
Powyższa odpowiedź nie zadziałała, więc chciałem opublikować to, co ostatecznie zadziałało. Na podstawie wątku, który tu znalazłem , musiałem odinstalować readline i zainstalować go ponownie, ale ze źródła.
Następnie błąd psql zniknął.
źródło
Miałem ten problem, a kluczem było dla mnie
reinstall
jakreadline
ipostgres
. Po ponownej instalacji postgres problem został rozwiązany.źródło
Innym sposobem na naprawienie psql jest właśnie uruchomiona aktualizacja postgresql,
brew upgrade postgresql
ponieważ najnowsza wersja używa wersji readline 7.źródło
Miałem ten problem, gdy przez przypadek zaktualizowałem readline do wersji 7. Odinstalowałem readline i brew przypominam, że 6.3.8 jest nadal zainstalowany. Wygląda na to, że wersja 7 obecnie nie działa z PSQL.
źródło
Próbowałem tych wszystkich poleceń terminalu i nic nie działało, więc postanowiłem to naprawić ręcznie.
Otwórz Finder i naciśnij Command + Shift + G
powinieneś zobaczyć wiele wersji tych plików
zmień nazwę dowolnego z nich na bibliotekę, która nie jest załadowana
źródło
Próbowałem odpowiedzi na wszystkie podglądy i nic nie działało. Jedyną rzeczą, która naprawdę dla mnie działała, było:
brew link postgresql
źródło
Pomogło mi to: odinstaluj wszystkie readline i postgresql
eksport CPPFLAGS = -I / usr / local / opt / readline / include eksport LDFLAGS = -L / usr / local / opt / readline / lib
i zainstaluj posqtgresql
źródło
Następujące polecenia działały dla mnie:
źródło
Uznałem to rozwiązanie za pomocne
https://github.com/Homebrew/homebrew-core/issues/5799
źródło
Możesz spróbować
brew doctor
zobaczyć, co mówi.Być może wszystko czego potrzebujesz to
brew link --overwrite bash
.Dla mnie właśnie zaktualizowałem brew, ponieważ OS X EL Capitan miał pewne uaktualnienie zabezpieczeń, które łączy mój
/usr
folder. Podczas aktualizacji brew link bash jest zepsuty i tobrew doctor
mi mówi.Więc po prostu biegnę
brew link --overwrite bash
i wszystko jest w porządku.źródło
Możesz sprawdzić, czy masz coś innego do dowiązania symbolicznego
postgresql
. Wcześniej łączyłem się z pakietem postgres93 , który od maja '17 nie jest obsługiwany i został usunięty. Usunięcie tego linku, a następnie ponowne połączenie działało dla mnie:źródło
W moim przypadku poprawna odpowiedź nie rozwiązała problemu.
Problem zaczął się po uruchomieniu
brew doctor
i dodaniuexport PATH="/usr/local/bin:$PATH"
do mojego pliku ~ / .zshrc.Usuwanie
od
~/.zshrc
rozwiązania.źródło
Z jakiegoś nieznanego powodu, gdy ten błąd pojawił się w następnej wersji Readline, mój RVM wydawał się nie być w stanie zlokalizować właściwego, bez względu na to, jak go dowiązałem, rzucając:
Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib (LoadError)
W końcu
rb-readline
dodałem klejnot do mojego Gemfile i zrobiłem innybundle install
i zaczął działać.Ja ... po prostu nie wiem.
źródło