如果我遗漏了一些明显的东西,我深表歉意。我是红宝石的新手。
我的总体目标是为使用rvm
和 gemsets 的现有脚本添加功能。
当我将新 gem 安装到特定 gemset 时,require
我的脚本中的 s 找不到它们。我正在使用以下 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)
...
我们看到我在那里安装的模块。
按照包含模块的 xml-simple 指令,我运行此脚本:
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
.