我只是用自制程序安装了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

有人知道是怎么回事吗?


当前回答

我尝试了所有这些终端命令,没有任何工作,所以决定手动修复它。

打开查找器,点击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更新到版本7时遇到了这个问题。我卸载了readline和brew,提醒我6.3.8仍然安装。目前看来,版本7还不能使用PSQL。

你可以试试啤酒医生,看看上面写了什么。

可能您所需要的只是brew link—覆盖bash。

对我来说,我刚刚升级了brew,因为OS X EL Capitan有一些安全升级,影响了我的/usr文件夹。在酿造升级过程中,bash链接中断了,这是酿造医生告诉我的。

我运行brew link,覆盖bash,一切正常。

在我看来,问题是关于更新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

我得到了完全相同的错误,但上面的答案对我不起作用。我不得不重新安装postgresql。

重新安装postgresql

解决方案是再次强制链接readline。

brew remove readline
brew install readline
brew link readline --force