在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