我尝试了所有这些终端命令,没有任何工作,所以决定手动修复它..
的 打开发现者 强> 并击中 的 命令+移+克 强>
Go to this folder /usr/local/opt/readline/lib/
你应该看到这些文件的多个版本
libreadline.6.dylib libreadline.7.0.dylib
将它们中的任何一个重命名为未加载的库
this is: /usr/local/opt/readline/lib/libreadline.6.2.dylib mine was: /usr/local/opt/readline/lib/libreadline.6.dylib
如果情况是你有更高版本的readline说7.0。你可以这样做
cd /usr/local/opt/readline/lib ln libreadline.7.0.dylib libreadline.6.2.dylib
如果您没有安装readline,请先安装它:
brew install readline
对我来说,即使我安装了readline,我也遇到了这个错误。重新安装readline就可以了:
brew reinstall readline
我尝试了所有的预览答案,没有任何效果。唯一对我有用的是:
brew link postgresql
你可以试试 brew doctor 看看它说的是什么。
brew doctor
可能你需要的只是 brew link --overwrite bash 。
brew link --overwrite bash
对我来说,我刚刚升级了brew,因为OS X EL Capitan进行了一些安全升级,这些都是我的 /usr 夹。在brew升级期间,bash链接被破坏,这就是什么 brew doctor 告诉我。
/usr
所以我跑了 brew link --overwrite bash 一切都很好。
由于某些未知原因,当为下一版本的Readline弹出此错误时,无论我如何对其进行符号链接,我的RVM似乎无法找到正确的错误,抛出:
Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib (LoadError)
我最终添加了宝石 rb-readline 到我的Gemfile并做另一个 bundle install 它开始工作了。
rb-readline
bundle install
我...只是不知道。
在我的情况下,正确的答案并没有解决问题。
运行后问题就开始了 brew doctor 并添加 export PATH="/usr/local/bin:$PATH" 到我的〜/ .zshrc文件。
export PATH="/usr/local/bin:$PATH"
删除
从 ~/.zshrc 得到了解决。
~/.zshrc
上面的答案对我不起作用所以我想发布最终起作用的内容。基于我发现的一个主题 这里 ,我不得不卸载readline并再次安装它,但是来自源代码。
brew uninstall readline brew install --build-from-source readline
之后,psql错误消失了。
在我看来,问题是关于更新readline包。 postgres试图在我的情况下使用/usr/local/opt/readline/lib/libreadline.7.dylib。所以我刚创建了一个符号链接到现有版本的库/usr/local/opt/readline/lib/libreadline.8.dylib。
为我工作:
ln -s /usr/local/opt/readline/lib/libreadline.8.dylib /usr/local/opt/readline/lib/libreadline.7.dylib
我偶然将readline更新到版本7时遇到了这个问题。我卸载readline和brew提醒我6.3.8仍然安装。似乎版本7目前不适用于PSQL。
您可能想要检查是否还有符号链接的内容 postgresql 。我以前曾联系过 postgres93 包,自2017年5月起,不受支持且已被删除。删除该链接,然后重新链接为我工作:
postgresql
brew unlink postgresql93 brew link postgresql
这些解决方案都不适合我;我不得不跑:
brew upgrade bash
来自: https://github.com/Homebrew/homebrew-core/issues/5799
这对我有用
brew switch readline
这将显示您已安装的版本。选择其中一个。我选了7.0.5
然后我跑了
brew switch readline 7.0.5
readline版本已更新,并且 psql 跑得很顺利。
psql
另一种修复psql的方法是刚刚运行的更新postgresql brew upgrade postgresql 因为最新版本将使用readline 7版本。
brew upgrade postgresql
解决方案是再次强制连接readline。
brew remove readline brew install readline brew link readline --force
这对我有所帮助: 卸载所有readline和postgresql
export CPPFLAGS = -I / usr / local / opt / readline / include export LDFLAGS = -L / usr / local / opt / readline / lib
并安装posqtgresql
我有这个问题,对我来说关键是 reinstall 都 readline 和 postgres 。重新安装postgres后,问题就解决了。
reinstall
readline
postgres
我觉得这个解决方案很有用
https://github.com/Homebrew/homebrew-core/issues/5799
我得到了完全相同的错误,但上述答案对我不起作用。我不得不重新安装postgresql。
brew reinstall postgresql
ln -s /usr/local/opt/readline/lib/libreadline.7.0.dylib /usr/local/opt/readline/lib/libreadline.6.dylib