【问题标题】:The `heroku' command exists in these Ruby versions:`heroku' 命令存在于这些 Ruby 版本中:
【发布时间】:2016-03-09 15:55:32
【问题描述】:

我在使用 heroku 工具带时遇到了重大问题。我正在使用 cedar 14 堆栈,当我尝试使用不是 ruby 2.0.0-dev 的 ruby​​ 版本时出现此错误。

rbenv: heroku: command not found

The `heroku' command exists in these Ruby versions:
  2.0.0-dev

我需要 heroku 与 ruby 1.9.3 合作,我认为 cedar 14 不支持该版本的 ruby​​。有人可以先解释一下,为什么我只能使用带有ruby 2.0.0-dev 的heroku,以及如何安装支持ruby 1.9.3 的旧堆栈?

【问题讨论】:

    标签: ruby-on-rails ruby heroku rbenv heroku-toolbelt


    【解决方案1】:

    问题在于您的系统上有两个 heroku 可执行文件:一个在系统路径中,例如 /usr/local/bin/heroku(由 Toolbelt 提供),另一个在 rbenv 的 shims 中,因为 Ruby 2.0.0-dev 有“heroku” gem已安装。

    因为 rbenv 的 shims 目录通常具有更高的优先级,它会阻止调用执行 Toolbelt 提供的 heroku 可执行文件。

    解决方案是卸载任何“heroku”gem 实例,并仅依靠 Toolbelt 来在命令行上使用所有 heroku:

    for v in `rbenv whence heroku`; do RBENV_VERSION=$v gem uni heroku -ax; done
    rbenv rehash
    which heroku
    

    【讨论】:

    • 该解决方案对我不起作用,但对两个英雄可执行文件的解释对我有用。我搜索并找到了提示——stackoverflow.com/a/36840977/5965865——并按照说明删除了 rbenv,heroku 现在可以工作了!谢谢!
    【解决方案2】:

    您可以根据this 在 cedar 堆栈上使用 1.9.3。 heroku 工具带安装为可执行文件,而不是 ruby​​ gem。您如何尝试执行命令?您应该可以从终端使用它,例如heroku run rake db:migrate 等。

    【讨论】:

      猜你喜欢
      • 2014-01-12
      • 1970-01-01
      • 2014-10-26
      • 2013-01-29
      • 2016-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多