在Homebrew中返回readline版本6.x来修复Postgresql?

我不是Homebrew的专家,但是我认为在9/15/16之后的某个时候,它已经将我从readline版本6.x“升级”到了7.0:

eat@eric-macbook: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 Homebrew版本的Postgresql令人头疼(为了可比性的原因,我需要更老的9.4):

 eat@eric-macbook:~$ 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 

不幸的是,我无法find一个关于Homebrew的readx 6.x版本来恢复 – 只有7.0似乎是可用的(?)。

我的问题是双重的:

  • readline版本与我的postgres / psql问题的原因不符?
  • 如果是这样,我该如何回到6.x与自制软件纠正问题?

先谢谢你!

只要重新安装postgresql94包,PostgreSQL 9.4将使用新的readline包:

 brew reinstall postgresql94 

回答具体的问题。

你可以在已安装的Brew包的版本之间切换,这个问题在这个问题中已经介绍过了: Homebrew安装特定版本的公式?

要降级到readline 6.x,下面的命令为我工作:

 brew switch readline 6.3.8 

对于那些仍然面临这个问题,但不能从自制软件包下载readline 6.3.8的人。 你可以试试这个解决scheme。 (请参阅这里 )

 # 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 

我能够通过全面brew upgrade (升级所有冲泡pipe理软件包)。

对于来自Rails的人员,您可以添加readline gem并运行bundle install

 gem 'rb-readline' #Fixed readline error