1

我正在使用 Ubuntu 10.10、RVM 和 Ruby 1.9.2 并尝试第一次安装 Heroku。Ruby 1.9.2 是 RVM 的默认版本,也是我一直在使用的唯一版本。

有效但尝试运行 heroku 会导致“gem install 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 一起使用?

4

3 回答 3

4

这个问题原来与sudo和 Ubuntu 有关。RVM 依赖于rvm_path环境变量来启动。根据另一个问题的答案,sudo在某些版本的安全 Linux 中不保留 PATH 变量。我不知道它是否应该保留rvm_path变量,但无论如何,它不在我的 Ubuntu 版本上。所以结果sudo gem install是,RVM 提供的默认 Ruby 版本在安装过程中不可用,而使用了 system-default。就我而言,这是 1.8 版。安装似乎成功,但它不会转到正确的 gem 版本。

解决方案是简单地使用gem install而不是sudo gem install.

于 2011-01-15T14:08:38.930 回答
0

如果“gem list”没有显示 Heroku gem,那么这似乎是问题所在(在没有安装 gem 的情况下运行 Heroku 命令时会出现您发布的错误)。

您是否尝试再次安装它?有任何错误信息吗?

它确实适用于 1.9.2。

于 2011-01-15T12:53:41.203 回答
0

在 Mac OSX 10.6.5 上遇到了完全相同的问题。在这种情况下也可以在不使用 sudo 的情况下重新安装。感谢您的解释......作为一个小人物,我永远不会明白。

于 2011-01-19T05:35:29.987 回答