代码之家  ›  专栏  ›  技术社区  ›  RubyRedGrapefruit

Heroku CLI psql命令不再工作

  •  1
  • RubyRedGrapefruit  · 技术社区  · 7 年前

    我的所有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上运行这个,我已经用自制软件安装了Heroku。

    heroku CLI版本:

    heroku/7.19.4 darwin-x64 node-v11.3.0
    
    2 回复  |  直到 7 年前
        1
  •  2
  •   Neal Audenaert    7 年前

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

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

    我通过升级postgres解决了这个问题: brew upgrade postgres 。请注意,这将升级系统上运行的Postgres版本。这对我来说是天衣无缝的(我现在正在用9.6.8的DB服务器运行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

        2
  •  1
  •   Nathan    7 年前

    看起来这个问题是由 psql 找不到所需的依赖项 ,在这种情况下 readline

    如果你没有 读线 我会尝试安装库依赖项 读线 使用自制软件:

    brew install readline
    

    但是,如果您已经 读线 安装了库可能图像在某个地方弄乱了,所以我会尝试重新安装并链接库:

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

    希望这有帮助!