你如何更新JRuby的gem命令?

时间:2011-07-20 23:58:55

标签: rubygems gem jruby

我们如何更新JRuby使用的gem版本?

JRuby使用gem(1.5.1),我们想将其升级到1.8.7。我们希望在Ruby / gems

中安装gem

我们跑:

bin/jruby gem install rubygems-update
Fetching: rubygems-update-1.8.5.gem (100%)
Successfully installed rubygems-update-1.8.5
1 gem installed

bin/jruby gem install --system
ERROR:  While executing gem ... (OptionParser::InvalidOption)
invalid option: --system

(更新也不起作用)

bin/jruby gem update --system
Updating RubyGems
Updating RubyGems to 1.8.5
Installing RubyGems 1.8.5
ERROR:  While executing gem ... (Errno::EBADF)
Bad file descriptor - Bad file descriptor

如何安装/更新gem(1.8.5)?

配置:

  • 使用Maven安装JRuby。
  • JRuby安装在:  〜/ .m2目录/库/组织/ jruby的/ JRuby的完整/ 1.6.3 / JRuby的完整-1.6.3.jar
  • jruby-complete-1.6.3.jar没有爆炸。
  • jruby-complete-1.6.3.jar已经建立了“gem”(1.5.1)命令。
  • 命令bin/jruby看起来像这样:

(BIN / jruby的)

export jruby_build=1.6.3
export GEM_HOME= ~/tools/ruby/gems
java -jar ~/.m2/repository/org/jruby/jruby-complete/${jruby_build}/jruby-complete-${jruby_build}.jar -S $*
  • 环境变量:

(ENV)

GEM_HOME=~/tools/ruby/gems
GEM_PATH=~/tools/ruby/gems

2 个答案:

答案 0 :(得分:4)

如果你可以使update_rubygems工作,那很好,但要注意这可能会导致一些特定于JRuby的扩展不再起作用(例如,maven集成)。我们向RubyGems提供JRuby版本,以便我们确保扩展与我们发布的版本兼容。

答案 1 :(得分:0)

安装rubygems-update后,您需要执行命令:

jruby -S update_rubygems

从那时起,你应该能够使用正常的命令,即

jruby -S gem update --system