ruby-on-rails - 这些 Ruby 版本 : 中存在 `heroku' 命令

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

我在使用 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 的旧堆栈?

最佳答案

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

关于ruby-on-rails - 这些 Ruby 版本 : 中存在 `heroku' 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34093044/

相关文章:

android - Ruby 和 Android 应用程序之间如何加密和解密数据?

ruby-on-rails - Sidekiq 和一个从两个队列中获取作业的 Worker

ruby - 没有 Rails 的 Sidekiq 不会加载工作类

ruby-on-rails - Goto Anything of Sublime Text 2 中的这些数字是多少

macos - 说我的heroku toolbelt已安装,但我找不到程序

python - Heroku Django db postgres 错误

ruby-on-rails - 如何使用保留字的字边界否定正则表达式中的单词

ruby-on-rails - 设计:在注册失败时重定向到 "/signup"

ruby-on-rails - 如何从 Rails gem 或 lib 中访问 session 和 cookie?

php - Yii2 应用程序未显示在 Heroku 域上