Ruby on rails JRuby Rails使用哪些gems?
如果我使用Ruby on rails JRuby Rails使用哪些gems?,ruby-on-rails,jruby,Ruby On Rails,Jruby,如果我使用 bundle exec jruby -S rails s 我得到以下警告 c:/Program Files/jruby-1.6.7/lib/ruby/gems/1.8/gems/activesupport- 3.2.2.rc1/lib/active_support/core_ext/string/output_safety.rb:34 warning: regexp match /.../n against to UTF-8 string 现在,不要介意警告,这不是我问
bundle exec jruby -S rails s
我得到以下警告
c:/Program Files/jruby-1.6.7/lib/ruby/gems/1.8/gems/activesupport-
3.2.2.rc1/lib/active_support/core_ext/string/output_safety.rb:34
warning: regexp match /.../n against to UTF-8 string
现在,不要介意警告,这不是我问题的一部分。问题的一部分是,当JRuby设置为used 1.9模式时,为什么会使用1.8版本的gems
$ bundle exec jruby -S rails s
=> Booting WEBrick
=> Rails 3.2.2.rc1 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2012-03-05 13:41:02] INFO WEBrick 1.3.1
[2012-03-05 13:41:02] INFO ruby 1.9.2 (2012-02-22) [java]
[2012-03-05 13:41:02] INFO WEBrick::HTTPServer#start: pid=7624 port=3000
版本:
$ jruby -v
jruby 1.6.7 (ruby-1.9.2-p312) (2012-02-22 3e82bc8)
(Java HotSpot(TM) Client VM 1.6.0_27) [Windows Vista-x86-java]
这也让我好奇!(=
无论您使用哪种模式,gem的主回购都处于
1.8
目录:
$ jruby -S gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.8.9
- RUBY VERSION: 1.8.7 (2011-10-25 patchlevel 330) [java]
- INSTALLATION DIRECTORY: C:/dev/jruby-1.6.5/lib/ruby/gems/1.8
...
- GEM PATHS:
- C:/dev/jruby-1.6.5/lib/ruby/gems/1.8
- C:/.gem/jruby/1.8
使用--1.9
:
$ jruby --1.9 -S gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.8.9
- RUBY VERSION: 1.9.2 (2011-10-25 patchlevel 136) [java]
- INSTALLATION DIRECTORY: C:/dev/jruby-1.6.5/lib/ruby/gems/1.8
...
- GEM PATHS:
- C:/dev/jruby-1.6.5/lib/ruby/gems/1.8
- C:/.gem/jruby/1.9
安装目录在JRuby编译时由JRuby.gem.home
设置,默认设置为:
jruby.gem.home.1.8=lib/ruby/gems/1.8
(在JRuby代码库的default.build.properties
中)
但是,这应该不是问题,因为在--1.9
模式下运行时,加载路径包含1.8
$ jruby --1.9 -rpp -e 'pp $LOAD_PATH'
["C:/dev/jruby-1.6.5/lib/ruby/site_ruby/1.9",
"C:/dev/jruby-1.6.5/lib/ruby/site_ruby/shared",
"C:/dev/jruby-1.6.5/lib/ruby/site_ruby/1.8",
"C:/dev/jruby-1.6.5/lib/ruby/1.9"]
我将RubyGems 2.0.3与JRuby 1.6.8一起使用,我得到了两个不同的安装目录(取决于我是否为--1.9)。因此,RubyGems或JRuby在某些方面发生了很大的变化。对我来说,将所有的gems放在1.8中总是感觉像一个bug。