使用Rails3,Ruby 1.9.2安装Heroku的问题

时间:2011-01-15 08:33:48

标签: ruby-on-rails-3 installation heroku ruby-1.9.2

我正在使用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?

3 个答案:

答案 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,我永远都不会想到它。