2016-10-03 28 views
44

我不是自制的專家,但我認爲它已經從readline的6.x版本「升級」我到7.0 9/15/16後的某個時間:在Homebrew中返回readline版本6.x以修復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) 

這引起頭痛對我的9.4.5的PostgreSQL家釀版本(我需要舊的9.4可比性的原因):

[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 

可惜我不能找到家釀的readline的6.x版本都恢復到 - 只有7.0似乎是可用的(?)。

我的問題是雙重的:

  • 的是readline的版本不匹配我的Postgres/PSQL問題的原因是什麼?
  • 如果是這樣,我該如何返回到6.x與自制軟件糾正問題?

預先感謝您!

+0

完全相同的問題在這裏:) – przbadu

回答

26

只有重裝postgresql94包,PostgreSQL的9.4將使用新的readline包:

brew reinstall postgresql94 
+1

我在El Capitain有相同的。這對我有效。 – lcguida

+0

自從PostgreSQL從9.4.5發展到9.4.9之後,情況有些複雜 - 但是,重新安裝使用readline 7.0的PostgreSQL包。謝謝。 – ericky

+3

雖然 –

57

要回答的具體問題。

您可以安裝包沖泡目前仍在圍繞本地在這個問題解釋的版本之間切換: Homebrew install specific version of formula?

要降級爲readline的6.x的以下命令爲我工作:

brew switch readline 6.3.8 
+7

Thx,但我熟悉'brew switch'。如上面的'brew info readline'輸出所示,我本地沒有v 6.x。我無法在Homebrew上找到可供下載的版本('brew search readline')。具體的問題是:如果你的機器上不再存在如何獲得它? – ericky

+0

你救了我的命!謝謝 – santuxus

+0

它安裝了新版本的readline後爲我工作。 – wlads

23

對於仍然面臨此問題但無法從自制軟件包下載readline 6.3.8的用戶。你可以試試這個解決方案。 (從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

謝謝@ kah chiin山姆!男人,多麼噩夢! – CpILL

+0

這似乎不再起作用,因爲該提交ref。不再有效。不知道爲什麼,但它也不在歷史中。 – Andrew

+0

非常感謝!這在MacOS Sierra上適用於我(我沒有6.3.8)。我正在運行postgres 9.4.9。我從鏈接複製了命令。工作順利。 –

1

我能夠用毯子brew upgrade(升級所有BREW管理包)來克服這一點。

0

對於來自這個問題的Rails的人,你可以添加readline gem並運行bundle install

gem 'rb-readline' #Fixed readline error