Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails “heroku';命令存在于以下Ruby版本中:_Ruby On Rails_Ruby_Heroku_Rbenv_Heroku Toolbelt - Fatal编程技术网

Ruby on rails “heroku';命令存在于以下Ruby版本中:

Ruby on rails “heroku';命令存在于以下Ruby版本中:,ruby-on-rails,ruby,heroku,rbenv,heroku-toolbelt,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。有人能先解释一下,为什么我只允许在ruby 2.0.0-de

我和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的旧堆栈吗?

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

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

由于rbenv的目录通常具有更高的优先级,因此它将阻止调用执行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

这个解决方案对我不起作用,但对两个英雄可执行文件的解释起了作用。我搜索并找到了提示-,并按照指示删除rbenv,heroku现在可以工作了!非常感谢。