为什么RVM指向错误的rubygems?

时间:2012-05-09 19:03:00

标签: ruby rubygems rvm

几个月前我换了RVM,并且不记得在昨天之前安装任何新宝石。当我需要新宝石时,我得到:

/home/rob/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `require': no such file to load -- mspire/peak_list (LoadError)

即使:

gem install mspire

工作得很好。

我猜测问题在于Ruby正在寻找1.9.1的rubygems中的gem而不是1.9.2(我正在使用的版本)。我将版本设置为rvm use。我有什么遗漏吗?

1 个答案:

答案 0 :(得分:2)

Ruby> = 1.9.1始终将其库保存在1.9.1中。目录。这表示所有这些Ruby版本都遵循1.9.1兼容性。它并不表示使用的实际Ruby版本。

您的宝石应保存在/home/rob/.rvm/gems/ruby-1.9.2-p290/gems中。应该有一个以gem命名的目录和那里的确切版本。可以使用rvm info检查RVM设置的路径。 GEM_PATH应该看起来像/home/rob/.rvm/gems/ruby-1.9.2-p290:/home/rob/.rvm/gems/ruby-1.9.2-p290@global

确保使用与其一起使用的完全相同的Ruby和gemset安装gem。如果更改Ruby或gemset,则必须重新安装gem。