我只是用自制程序安装了posgresql,当我继续键入命令时
psql
我得到以下错误:
dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.6.2.dylib
Referenced from: /usr/local/bin/psql
Reason: image not found
[1] 69711 trace trap psql
有人知道是怎么回事吗?
我只是用自制程序安装了posgresql,当我继续键入命令时
psql
我得到以下错误:
dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.6.2.dylib
Referenced from: /usr/local/bin/psql
Reason: image not found
[1] 69711 trace trap 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.0。你可以这样做
cd /usr/local/opt/readline/lib
ln libreadline.7.0.dylib libreadline.6.2.dylib
如果你没有安装readline,首先安装它:
Brew安装readline
对我来说,我得到了这个错误,即使我安装了readline。重新安装readline成功了:
brew reinstall readline
这对我很有效
brew switch readline
这将显示您已安装的版本。从中挑一个。我选了7.0.5
然后我就跑了
brew switch readline 7.0.5
readline版本得到了更新,psql运行得很顺利。
我尝试了所有这些终端命令,没有任何工作,所以决定手动修复它。
打开查找器,点击command+shift+g
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,并从源代码重新安装它。
brew uninstall readline
brew install --build-from-source readline
之后,psql错误消失了。