2016-10-03 47 views
44

Nie jestem ekspertem Homebrew ale myślę, że ma „zmodernizowane” mnie z readline wersji 6.x do 7,0 kiedyś po 9/15/16:Powróć do wersji readline 6.x w Homebrew, aby naprawić PostgreSQL?

[email protected]:Homebrew$ brew info readline 
readline: stable 7.0 (bottled) [keg-only] 
Library for command-line editing 
https://tiswww.case.edu/php/chet/readline/rltop.html 
/usr/local/Cellar/readline/7.0 (45 files, 2M) 

To spowodowało ból głowy dla mojego 9.4.5 Homebrew wersji PostgreSQL (muszę starszy 9,4 względów porównawczych):

[email protected]:~$ psql --version 
dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.6.dylib 
    Referenced from: /usr/local/Cellar/postgresql/9.4.5/bin/psql 
    Reason: image not found 
Trace/BPT trap: 5 

Niestety nie mogę znaleźć wersji 6.x readline na Homebrew powrotu do - tylko 7,0 wydaje się być dostępny (?).

Moje pytanie jest dwojaki:

  • Czy wersja readline niedopasowanie przyczyną mojego problemu postgres/psql?
  • Jeśli tak, w jaki sposób mogę powrócić do wersji 6.x w Homebrew, aby rozwiązać problem?

Z góry dziękuję!

+0

Dokładnie ten sam numer tutaj :) – przbadu

Odpowiedz

26

Wystarczy zainstalować ponownie postgresql94 opakowania, PostgreSQL 9.4 użyje nowego readline pakiet:

brew reinstall postgresql94 
+1

Miałem to samo w El Capitain. To działało dla mnie. – lcguida

+0

To było trochę bardziej skomplikowane, ponieważ PostgreSQL przeszedł z 9.4.5 na 9.4.9 - ale tak, przeinstalowanie pakietu PostgreSQL używanego readline 7.0. Dziękuję Ci. – ericky

+3

Nie odpowiada to jednak na pytanie: –

57

Aby odpowiedzieć na konkretne pytanie.

Można przełączać się pomiędzy wersją zainstalowanych pakietów napar, które są nadal wokół lokalnie jak wyjaśniono w tej kwestii: Homebrew install specific version of formula?

downgrade do readline 6.x następujące polecenie pracował dla mnie:

brew switch readline 6.3.8 
+7

Thx, ale znam' brew brew'. Jak pokazano na powyższym wyjściu 'brew info readline', nie mam lokalnie vx. Nie mogę znaleźć tej wersji do pobrania na Homebrew ('brew search readline'). Konkretne pytanie brzmi: jak go zdobyć, jeśli nie będzie już obecny na twoim komputerze? – ericky

+0

uratowałeś mi życie! dzięki – santuxus

+0

zadziałało dla mnie po zainstalowaniu nowej wersji readline. – wlads

23

Dla tych, którzy nadal stoją w obliczu tego problemu, ale nie mogą pobrać readline 6.3.8 z pakietu homebrew. Możesz wypróbować to rozwiązanie. (Patrz z here)

# Uninstall this incompatible version 
brew uninstall readline 

# Go to the local clone of homebrew-core 
cd $(brew --prefix)/Homebrew/Library/Taps/homebrew/homebrew-core 

# Move to the homebrew-core revision that had 6.3.8 
git checkout 35fed817726f61a9d40c8420582f6fde59eb5f14 

# Re-install readline 
brew reinstall readline 

# Switch back to HEAD 
git checkout master 

# Pin readline so this can't happen again 
brew pin readline 
+3

Dzięki @kah chiin Sam! Człowieku, co za koszmar! – CpILL

+0

To wydaje się już nie działać, ponieważ ten commit ref. nie jest już ważny. Nie wiem dlaczego, ale nie jest to również w historii. – Andrew

+0

Dziękuję bardzo! To działało dla mnie na MacOS Sierra (i nie miałem już 6.3.8). Używam PostgreSQL 9.4.9. Skopiowałem polecenia z linku. Pracował bez problemu. –

1

udało mi się przezwyciężyć ten kocem brew upgrade (uaktualnić wszystkie pakiety piwny zarządzane).

0

Dla osób przychodzących z Railsów z tym wydaniem wystarczy dodać klejnot readline i uruchomić bundle install.

gem 'rb-readline' #Fixed readline error