Ruby在gemset中找不到gem

时间:2015-05-18 16:10:38

标签: rvm jruby xml-simple

如果我错过了一些明显的东西,我道歉。我是Ruby的新手。

我的总体目标是为现有脚本添加功能,该脚本使用rvm和gemsets。

当我将新gems安装到特定gemset时,我脚本中的require无法找到它们。我正在使用以下rvm实例:

$ rvm current
jruby-1.6.7.2@preflight

确认:

$ which ruby
/Users/user/.rvm/rubies/jruby-1.6.7.2/bin/ruby
$ ruby -v
jruby 1.6.7.2 (ruby-1.8.7-p357) (2012-05-01 26e08ba) (Java HotSpot(TM) 64-Bit Server VM 1.8.0_11) [darwin-x86_64-java]

我指定了gemset,我安装了一个给定的gem(让我们说xml-simple)。

$ rvm @preflight do gem install xml-simple
Successfully installed xml-simple-1.1.5
1 gem installed

验证gem的安装是否正确:

$ gem list

*** LOCAL GEMS ***
...
xml-simple (1.1.5)
...

我们看到我安装的模块。

the xml-simple instructions包含模块后,我运行此脚本:

require 'xmlsimple'

,结果是:

$ ruby testver.rb
LoadError: no such file to load -- xmlsimple
  require at org/jruby/RubyKernel.java:1033
   (root) at testver.rb:1

我看到的一件可疑事情是打印出来RUBY_VERSION$LOAD_PATH向我展示了这一点:

$ ruby testver.rb
1.8.7
/Users/user/.rvm/rubies/jruby-1.6.7.2/lib/ruby/site_ruby/1.8
/Users/user/.rvm/rubies/jruby-1.6.7.2/lib/ruby/site_ruby/shared
/Users/user/.rvm/rubies/jruby-1.6.7.2/lib/ruby/1.8
.

1 个答案:

答案 0 :(得分:0)

在Ruby版本1.9.2 per this stackoverflow answer之前,需要添加require "rubygems"。这解决了我的问题。