我在 Mac Sierra 10.12.3 上工作,并尝试通过命令访问 PostgreSQL 数据库psql
,但它引发了错误
dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.6.dylib
Referenced from: /usr/local/bin/psql
Reason: image not found
Abort trap: 6
一两天前,我和别人一起工作,需要安装 pip,所以我运行了brew install pip
,一切正常。这是psql
自那时以来我第一次尝试运行,我不确定这是否与我的问题有关,但似乎很有可能,因为我没有做任何其他更改。
现在我做了一些侦查工作,发现如果我去/usr/local/opt/
那里确实有一个readline
指向的别名目录/usr/local/Cellar/readline/7.0.1
(版本 7.0.1 似乎也在某个时候安装了 - 可能是作为 pip 的一部分?也许我做错了......)所以抛出原始错误是有道理的。我更改了指向的别名/usr/local/Cellar/readline/6.3.8
,错误略有变化:
dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.6.dylib
Referenced from: /usr/local/bin/psql
Reason: no suitable image found. Did find:
/usr/local/opt/readline/lib/libreadline.6.dylib: stat() failed with errno=20
Abort trap: 6
所以看起来我得到了某处,但仍有问题。如果有人能提供解决方案,我将不胜感激。
答案1
我可以通过简单地运行来解决这个问题brew switch readline 6.3.8
答案2
跑步
brew upgrade gawk
对我有用,正如建议的那样@wisbucky
打开新终端后,以下错误已修复:
dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib
Referenced from: /usr/local/bin/awk
操作系统详细信息:macOS Mojave 版本 10.14.1 (18B75)
答案3
我的问题是由于我的 awk 链接到 gawk
brew unlink gawk
答案4
所以我的情况是这样的。
未加载库:/usr/local/opt/readline/lib/libreadline.8.0.4
并基于@skwidbreth 的回答,我发现我已经安装了 8.0.4,我只需要切换到它:
brew switch readline 8.0.4