我所有的 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
我以前遇到过这个"阅读线"的问题。我不确定它的作用,或者为什么它是必要的,但我如何克服它?
我在Mac OSX Sierra上运行它,我已经安装了带有Homebrew的Heroku。
英雄命令行界面版本:
heroku/7.19.4 darwin-x64 node-v11.3.0
Readline 是一个库,"供允许用户在键入时编辑命令行的应用程序使用"。
对我来说,brew 将 readline 的版本从 7(如上面的错误消息所示(更新为 8。您可以通过列出 psql 正在查找的目录的内容来确认这一点:ls /usr/local/opt/readline/lib/
我通过升级 postgres:brew upgrade postgres
来解决此问题。请注意,这将升级系统上运行的 Postgres 版本。这对我来说无缝工作(我现在运行 psgl 11.1 和 9.6.8 的数据库服务器(,但请注意您要升级的内容并确保之后一切正常。
我发现这篇博文很有帮助。
https://medium.com/@limichelle21/rails-5-troubleshooting-database-migration-from-sqlite3-to-postgresql-45bcb2ff0cb9
另请参阅此SO:无法运行psql命令,不断收到相同的错误
看起来这个问题是由psql
没有找到所需的必要依赖项引起的,在本例中readline
.
如果您没有readline
库依赖项,我会尝试使用 Homebrew 安装readline
:
brew install readline
但是,如果您已经安装了readline
库,则图像可能会在某处搞砸,所以我会尝试重新安装并链接库:
brew remove readline
brew install readline
brew link readline --force
希望对您有所帮助!