5

我是 Ruby 和 Rails 项目的绝对新手,所以如果这是一个愚蠢的问题,我很抱歉。

我已经使用wget -qO- https://toolbelt.heroku.com/install-ubuntu.sh | sh. 我也试过了gem install heroku。但是当我输入:

MY_USER@home-PC:~$ heroku version
<internal:gem_prelude>:1:in `require': cannot load such file -- rubygems.rb (LoadError)
    from <internal:gem_prelude>:1:in `<compiled>'

我已经在 google 中检查过,人们建议 gem 和 current ruby​​ 是不同的版本,所以我已经检查过了,它们看起来是一样的:

MY_USER@home-PC:~$ which ruby
/home/MY_USER/.rvm/rubies/ruby-1.9.3-p327/bin/ruby

MY_USER@home-PC:~$ gem env | grep 'RUBY EXECUTABLE'
  - RUBY EXECUTABLE: /home/MY_USER/.rvm/rubies/ruby-1.9.3-p327/bin/ruby

我不知道该怎么做,所以请帮忙。

抱歉,可能是愚蠢的问题,在此先感谢。

编辑:忘了说我正在运行 Ubuntu 12.10。

4

2 回答 2

18

问题是heroku您安装的可执行文件可能以这样的行开头:

#!/usr/bin/ruby

这将强制heroku命令始终使用系统范围的 ruby​​ ( /usr/bin/ruby),并且它永远不会运行您的 rvm 版本的 ruby​​。

heroku要修复它,只需将脚本的第一行编辑为:

#!/usr/bin/env ruby

这将使heroku命令运行当前的任何 ruby​​ 命令PATH,而不是像以前那样的硬编码路径。

要查找heroku脚本的位置,以便您可以编辑它,只需键入:

which heroku

它应该打印出脚本的位置,以便您可以找到它并将其加载到您的编辑器中。

于 2012-11-17T16:32:40.893 回答
0

此外,如果您没有写入权限,您可以输入:

:w !sudo tee % > /dev/null

保存成功。

于 2013-10-03T04:15:37.383 回答