我正在使用Ubuntu 10.10,RVM和Ruby 1.9.2并尝试首次安装Heroku。 Ruby 1.9.2是RVM的默认版本,也是我一直使用的唯一版本。
gem install heroku
工作但尝试运行heroku会导致“找不到命令”错误。可执行文件夹/home/mike/.rvm/gems/ruby-1.9.2-p0/bin已经在PATH中。但是,我看到Heroku安装在/var/lib/gems/1.8/gems中。 gem list heroku
未显示任何已安装的gem。简单地在... / ruby-1.9.2-p0中创建符号链接并没有解决问题,尽管它给出了不同的错误:
/usr/lib/ruby/1.8/rubygems.rb:779:in `report_activate_error': Could not find RubyGem heroku (>= 0) (Gem::LoadError)
from /usr/lib/ruby/1.8/rubygems.rb:214:in `activate'
from /usr/lib/ruby/1.8/rubygems.rb:1082:in `gem'
from /home/mike/.rvm/gems/ruby-1.9.2-p0/bin/heroku:18
我不了解gem和rvm,知道下一步该尝试什么。我在另一个问题中读到Heroku支持Ruby 1.9.1但不支持1.9.2,但不知道是否仍然如此。如果是这样,如何使用Rails和Ruby 1.9.x与Heroku?
答案 0 :(得分:4)
问题原来与sudo
和Ubuntu有关。 RVM依赖于rvm_path
环境变量来开始。根据{{3}}的答案,sudo
在某些安全Linux版本中不保留PATH变量。我不知道它是否应该保留rvm_path
变量,但无论如何,它不在我的Ubuntu版本上。因此sudo gem install
的结果是在安装期间默认的RVM提供的Ruby版本不可用,并且使用了system-default。在我的情况下是版本1.8。安装出现成功,但它没有使用正确的gem版本。
解决方案只是使用gem install
而不是sudo gem install
。
答案 1 :(得分:0)
如果'gem list'没有显示Heroku gem,那么这似乎是问题(在没有安装gem的情况下运行Heroku命令时发生的错误)。
您是否尝试过重新安装?有错误信息吗?
它适用于1.9.2。
答案 2 :(得分:0)
Mac OSX 10.6.5上存在完全相同的问题。没有sudo的重新安装也适用于这种情况。谢谢你的解释......作为一个nube,我永远都不会想到它。