不能运行psql命令,不断得到相同的错误

我只是用自制软件安装了posgresql,然后继续input命令

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 

有谁知道什么是错的?

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

brew reinstall postgresql

如果情况是你有一个更高的版本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 

关键的问题是你的postgresql试图findlibreadline.6.2.dylib但你的readline7.0版,所以只有7的lib是链接的。

我不认为升级postgresql是一个好主意,这并不容易,可能会导致很多问题,特别是当你已经有数据库数据。

我所做的是切换readline的版本。 当你检查brew info readline ,你会发现不同的版本,我的版本是6.3.8 ,所以我通过执行以下命令切换到该版本:

 $ brew switch readline 6.3.8 

它将更改为6.3.8并创build链接:

 Cleaning /usr/local/Cellar/readline/6.3.8 Cleaning /usr/local/Cellar/readline/7.0.1 Opt link created for /usr/local/Cellar/readline/6.3.8 

在这种情况下,所有链接的库变为6版本,并且命令行工作:

 $ ls /usr/local/opt/readline/lib/ libhistory.6.2.dylib libhistory.dylib libreadline.a libhistory.6.3.dylib libreadline.6.2.dylib libreadline.dylib libhistory.6.dylib libreadline.6.3.dylib libhistory.a libreadline.6.dylib 

但是,如果你有不同的应用程序使用不同版本的readline,我认为你应该考虑升级。

解决办法是强制重新连接readline。

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

没有任何解决scheme为我工作; 我必须运行:

 brew upgrade bash 

来自: https : //github.com/Homebrew/homebrew-core/issues/5799

这对我工作

ln -s /usr/local/opt/readline/lib/libreadline.7.0.dylib /usr/local/opt/readline/lib/libreadline.6.dylib

上面的答案不适合我,所以我想发布最终的工作。 基于我在这里find的线程,我不得不卸载readline,并再次从源安装。

 brew uninstall readline brew install --build-from-source readline 

之后,psql错误消失了。

我有这个问题,对我来说关键是reinstall readlinepostgres 。 一旦postgres重新安装,问题就解决了。

我试过所有这些terminal命令,没有任何工作,所以决定手动修复它。

打开取景器 并点击 命令+ 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和postgresql

export CPPFLAGS = -I / usr / local / opt / readline / include export LDFLAGS = -L / usr / local / opt / readline / lib

并安装posqtgresql

当我更新readline到第7版时,我遇到了这个问题。 我卸载了readline和brew,提醒我6.3.8仍然安装。 看来版本7目前还不支持PSQL。

我发现这个解决scheme很有用

 brew upgrade bash 

https://github.com/Homebrew/homebrew-core/issues/5799

另一种修复psql的方法是更新postgresql,因为最新版本将使用readline 7版本,所以只运行brew upgrade postgresql

我尝试了所有的预览答案,没有任何工作。 唯一真正为我工作的是:

brew link postgresql

你可以尝试brew doctor ,看看它说什么。

可能所有你需要的是brew link --overwrite bash

对于我来说,我只是升级了brew,因为OS X EL Capitan有一些安全升级,它会影响我的/usr文件夹。 在酿造升级期间,bash链接被打破,这正是brew doctor告诉我的。

所以我只是运行brew link --overwrite bash ,一切都很好。

你可能想检查一下是否还有其他符合postgresql符号链接。 我以前曾经联系过postgres93软件包,该软件包截至5月17日不受支持,并已被删除。 删除该链接,然后relinking为我工作:

 brew unlink postgresql93 brew link postgresql