"heroku"命令存在于这些Ruby版本中:



我的heroku工具带有重大问题。我使用的是雪松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,我不认为雪松14支持那个版本的ruby。有人能先解释一下为什么我只被允许将heroku与ruby 2.0.0-dev一起使用,以及如何安装支持ruby 1.9.3的旧堆栈吗?

问题是您的系统上有两个heroku可执行文件:一个在系统路径中,如/usr/local/bin/heroku(由Toolbelt提供),另一个在rbenv的垫片中,因为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

您可以根据此在雪松堆栈上使用1.9.3。heroku工具带是作为可执行文件而非ruby gem安装的。你是如何执行命令的?您应该能够从heroku run rake db:migrate等终端使用它。

最新更新