这些Ruby版本中存在`heroku'命令:

时间:2015-12-04 16:33:57

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

我遇到了heroku工具带的主要问题。我正在使用雪松14堆栈,当我尝试使用不是ruby 2.0.0-dev的红宝石版本时,我收到此错误。

rbenv: heroku: command not found

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

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

2 个答案:

答案 0 :(得分:16)

问题是你的系统上有两个heroku个可执行文件:一个在系统路径中,例如/usr/local/bin/heroku(由Toolbelt提供),另一个在rbenv的shims中,因为Ruby 2.0。 0-dev有" heroku"安装宝石。

因为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 :(得分:0)

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