2013-09-27 24 views
2

我剛剛切換到jRuby,並且能夠安裝我的gem,但是當我嘗試運行rake命令時,出現以下錯誤。我如何告訴jRuby使用nokogiri-1.6.0-java而不是nokogiri-1.6.0-x86-mingw32?如何讓jruby尋找純java nokogiri而不是mingw?

錯誤:

c:/jruby-1.7.3/lib/ruby/gems/shared/gems/bundler-1.3.4/lib/bundler/spec_set.rb:9 
2:in `block in materialize': Could not find nokogiri-1.6.0-x86-mingw32 in any of 
the sources (Bundler::GemNotFound) 
     from c:/jruby-1.7.3/lib/ruby/gems/shared/gems/bundler-1.3.4/lib/bundler/ 
spec_set.rb:85:in `map!' 
     from c:/jruby-1.7.3/lib/ruby/gems/shared/gems/bundler-1.3.4/lib/bundler/ 
spec_set.rb:85:in `materialize' 
     from c:/jruby-1.7.3/lib/ruby/gems/shared/gems/bundler-1.3.4/lib/bundler/ 
definition.rb:114:in `specs' 
     from c:/jruby-1.7.3/lib/ruby/gems/shared/gems/bundler-1.3.4/lib/bundler/ 
definition.rb:159:in `specs_for' 
     from c:/jruby-1.7.3/lib/ruby/gems/shared/gems/bundler-1.3.4/lib/bundler/ 
definition.rb:148:in `requested_specs' 
     from c:/jruby-1.7.3/lib/ruby/gems/shared/gems/bundler-1.3.4/lib/bundler/ 
environment.rb:18:in `requested_specs' 
     from c:/jruby-1.7.3/lib/ruby/gems/shared/gems/bundler-1.3.4/lib/bundler/ 
runtime.rb:13:in `setup' 
     from c:/jruby-1.7.3/lib/ruby/gems/shared/gems/bundler-1.3.4/lib/bundler. 
rb:120:in `setup' 
     from c:/jruby-1.7.3/lib/ruby/gems/shared/gems/bundler-1.3.4/lib/bundler/ 
setup.rb:17:in `<top (required)>' 
     from C:/Software/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_requir 
e.rb:36:in `require' 
     from C:/Software/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_requir 
e.rb:36:in `require' 
For a better pry experience, please use ansicon: http://adoxa.3eeweb.com/ansicon 
/
the `ripper' lib is not supported on JRuby 
rake aborted! 
no such file to load -- ripper 
org/jruby/RubyKernel.java:1027:in `require' 
org/jruby/RubyKernel.java:1027:in `require' 
org/jruby/RubyKernel.java:1027:in `require' 
org/jruby/RubyKernel.java:1027:in `require' 
org/jruby/RubyKernel.java:1027:in `require' 
org/jruby/RubyArray.java:1613:in `each' 
org/jruby/RubyArray.java:1613:in `each' 
org/jruby/RubyKernel.java:1027:in `require' 
org/jruby/RubyKernel.java:1046:in `load' 
C:/Users/n0222072/AptanaWorkspace/dcms/config/application.rb:8:in `(root)' 
C:/Users/n0222072/AptanaWorkspace/dcms/Rakefile:5:in `(root)' 
org/jruby/RubyKernel.java:1046:in `load' 
(See full trace by running task with --trace) 

回答

0

它應該有工作 - 我沒有那麼多熟悉-ING的Ruby on Windows,但這裏絕對是在PATH兼具MRI和JRuby的問題 - 最重要搞亂互相配合GEM_HOME/GEM_PATH(您可以通過運行Gem.path來檢查irb的路徑) - 您需要隔離這些路徑 - 確保它們指向正確的方向。

時使用JRuby的東西,如這些應該加載: C:/Software/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb

也許總是使用bundle exec威力很好的幫助,雖然我不知道這是否驗證有誤GEM_HOME

這就是爲什麼正確引入nokogiri寶玉沒有看到,因爲它是由於來自custom_require.rb找錯了一個理由的後果MRI