Heroku CLI psql命令不再起作用

时间:2019-02-11 17:26:25

标签: heroku heroku-cli

我的所有Heroku命令似乎都可以正常运行,除了用于进入数据库命令行的命令。

正在做

heroku pg:psql -a myapp

产量:

dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib
  Referenced from: /usr/local/bin/psql
  Reason: image not found

我以前对这个“ readline”有疑问。我不确定它是做什么的,或者为什么要这样做,但我该如何克服呢?

我正在Mac OSX Sierra上运行此程序,并且已经在Homebrew中安装了Heroku。

heroku CLI版本:

heroku/7.19.4 darwin-x64 node-v11.3.0

2 个答案:

答案 0 :(得分:1)

Readline是一个“供应用程序使用的库,允许用户在键入时编辑命令行”。

对我来说,brew将readline的版本从7(如上面的错误消息中所示)更新为8。您可以通过列出psql正在查找的目录的内容来确认这一点:ls /usr/local/opt/readline/lib/

我通过升级postgres:brew upgrade postgres来解决此问题。请注意,这将升级系统上运行的Postgres版本。这对我来说是无缝的(我现在正在使用9.6.8的数据库服务器运行psgl 11.1),但是请注意要升级的内容,并确保此后一切正常。

我发现此博客文章很有帮助。

https://medium.com/@limichelle21/rails-5-troubleshooting-database-migration-from-sqlite3-to-postgresql-45bcb2ff0cb9

另请参见:Can't run psql command, keep getting the same error

答案 1 :(得分:1)

此问题似乎是由于psql 未找到所需的依赖项引起的,在这种情况下为readline

如果您没有readline库依赖项,我会尝试通过Homebrew安装readline

brew install readline

但是,如果您已经安装了readline库,则该映像可能会混乱,因此我将尝试重新安装并链接该库:

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

希望有帮助!