Прошу прощения, если я пропустил что-то очевидное. Я новичок в Ruby.Ruby не может найти драгоценный камень в gemset
Моя общая цель - добавить функциональность к существующему скрипту, который использует rvm
и gemsets.
Когда я устанавливаю новые драгоценные камни в конкретный гемсет, require
s в моих сценариях не может их найти. Я использую следующий экземпляр РВМ:
$ rvm current
[email protected]
Для подтверждения:
$ 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 в установить данный камень (скажем xml-simple
).
$ rvm @preflight do gem install xml-simple
Successfully installed xml-simple-1.1.5
1 gem installed
Чтобы проверить камень установлен правильно:
$ 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
.
Как только я закончил этот пост, я столкнулся с решением из другого сообщения: http://stackoverflow.com/a/4209569/1258020. Добавление '' equire 'rubygems "' 'работало. Написание вопроса, по крайней мере, позволило мне сосредоточиться на проблеме. Вид резины-дакинга. – vincent