3
使用通過RVM和寶石版本1.8.24 JRuby的1.6.7我創建包含的Gemfile一個新項目:JRuby的 「沒有這樣的文件來加載」
source 'http://rubygems.org'
gem 'google-api-client'
和main.rb的:
require 'google/api_client'
後
gem install bundler
bundle install
gem list
我得到
addressable (2.2.8)
autoparse (0.3.1)
bouncy-castle-java (1.5.0146.1)
bundler (1.1.4)
extlib (0.9.15)
faraday (0.8.1, 0.7.6)
ffi (1.0.11 java)
google-api-client (0.4.3)
jruby-launcher (1.0.14 java)
jruby-openssl (0.7.7)
json (1.7.3 java)
jwt (0.1.4)
launchy (2.1.0 java)
multi_json (1.3.6)
multipart-post (1.1.5)
rack (1.4.1)
rake (0.9.2.2)
rubygems-bundler (1.0.2)
rubygems-update (1.8.24, 1.7.2)
rvm (1.11.3.3)
signet (0.3.4)
spoon (0.0.1)
但是當我運行紅寶石main.rb的,它導致一個錯誤:
LoadError: no such file to load -- google/api_client
require at org/jruby/RubyKernel.java:1033
(root) at main.rb:1
在MRI一切似乎是工作的罰款。這個問題似乎並不侷限於任何特定的寶石。
有人可以幫助我嗎?
感謝您的編輯建議。但是,一般來說,如果你打算使用多個Ruby虛擬機(你提到過MRI),那麼最好強制JRuby的'1.9'模式,而不是增加顯式的'require'。 1.8和1.9之間還有其他的區別可能會在將來引發你的注意。 –
以JRuby 1.7('rvm install jruby-1.7.0.preview1')開頭,它默認爲** 1.9 **,或者你可以用'--1.9'來安裝jruby,它也會切換它,不需要'JRUBY_OPTS = - 1.9'。 – mpapis