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

The `heroku' command exists in these Ruby versions:

我在使用 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。有人可以先解释一下,为什么我只允许将 heroku 与 ruby 2.0.0-dev 一起使用,以及如何安装支持 ruby 1.9.3 的旧堆栈?

可以按照this在cedar栈上使用1.9.3。 heroku toolbelt 安装为可执行文件,而不是 ruby gem。你是如何尝试执行命令的?您应该可以从终端使用它,例如 heroku run rake db:migrate

问题是您的系统上有两个 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