无法安装莺红宝石

时间:2011-11-27 05:47:45

标签: ruby-on-rails ruby rubygems jruby warbler

我正在运行Ubuntu 11.10,jruby 1.4.0,ruby 1.8.7.174,rubygems 1.3.5,rails 2.3.4

我正在开发一个需要特定版本的jruby和Rails以及glassfish服务器的项目。我遇到的问题是,当我启动glasfish时,它会显示:

Missing these required gems:
  warbler  >= 1.2.1
...
Run `rake gems:install` to install the missing gems.

所以我运行jruby -S rake gems:install

我得到了输出:

tlb rake task creation failed!, make sure you have installed the tlb-rspec1 gem
[Braintree] The SSL Certificate for the Sandbox environment will expire on 2010-12-01. Please check for an updated client library.

[Braintree] The SSL Certificate for the Production environment will expire on 2012-01-08. Please check for an updated client library.

jruby -S gem install warbler --version ">= 1.2.1"

System.java:-2:in `arraycopy': java.lang.ArrayIndexOutOfBoundsException

    from DefaultResolver.java:111:in `makeTime'

    from DefaultResolver.java:277:in `create'

    from DefaultResolver.java:317:in `handleScalar'

    from DefaultResolver.java:435:in `orgHandler'

    from DefaultResolver.java:455:in `node_import'

    from org/yecht/ruby/DefaultResolver$s_method_1_0$RUBYINVOKER$node_import.gen:-1:in `call'

    from CachingCallSite.java:147:in `call'

    from RubyLoadHandler.java:39:in `handle'

    from Parser.java:300:in `addNode'

    from DefaultYAMLParser.java:676:in `yyparse'

    from Parser.java:290:in `yechtparse'

    from Parser.java:284:in `parse'

    from YParser.java:152:in `load'

    from org/yecht/ruby/YParser$s_method_0_1$RUBYINVOKER$load.gen:-1:in `call'

    from JavaMethod.java:623:in `call'

    from DynamicMethod.java:176:in `call'

    from CachingCallSite.java:310:in `cacheAndCall'

    from CachingCallSite.java:149:in `call'

    from CallOneArgNode.java:57:in `interpret'

    from LocalAsgnNode.java:123:in `interpret'

    from NewlineNode.java:104:in `interpret'

    from InterpretedMethod.java:173:in `call'

    from DefaultMethod.java:169:in `call'

    from CachingCallSite.java:310:in `cacheAndCall'

    from CachingCallSite.java:149:in `call'

    from CallOneArgNode.java:57:in `interpret'

    from LocalAsgnNode.java:123:in `interpret'

    from NewlineNode.java:104:in `interpret'

    from BlockNode.java:71:in `interpret'

    from InterpretedMethod.java:173:in `call'

    from DefaultMethod.java:169:in `call'

    from CachingCallSite.java:310:in `cacheAndCall'

    from CachingCallSite.java:149:in `call'

    from CallOneArgNode.java:57:in `interpret'

    from NewlineNode.java:104:in `interpret'

    from RescueNode.java:225:in `executeBody'

    from RescueNode.java:147:in `interpretWithJavaExceptions'

    from RescueNode.java:110:in `interpret'

    from InterpretedMethod.java:173:in `call'

    from DefaultMethod.java:169:in `call'

    from CachingCallSite.java:310:in `cacheAndCall'

    from CachingCallSite.java:149:in `call'

    from FCallOneArgNode.java:36:in `interpret'

    from InstAsgnNode.java:95:in `interpret'

    from NewlineNode.java:104:in `interpret'

    from BlockNode.java:71:in `interpret'

    from EnsureNode.java:96:in `interpret'

    from BeginNode.java:83:in `interpret'

    from NewlineNode.java:104:in `interpret'

    from WhenOneArgNode.java:36:in `whenSlowTest'

    from WhenOneArgNode.java:46:in `when'

    from CaseNode.java:133:in `interpret'

    from NewlineNode.java:104:in `interpret'

    from InterpretedBlock.java:317:in `evalBlockBody'

    from InterpretedBlock.java:268:in `yield'

    from Block.java:194:in `yield'

    from YieldNode.java:112:in `interpret'

    from NewlineNode.java:104:in `interpret'

    from BlockNode.java:71:in `interpret'

    from InterpretedBlock.java:317:in `evalBlockBody'

    from InterpretedBlock.java:268:in `yield'

    from Block.java:194:in `yield'

    from RubyKernel.java:1182:in `loop_1_9'

    from org/jruby/RubyKernel$s_method_0_0$RUBYFRAMEDINVOKER$loop_1_9.gen:-1:in `call'

    from CachingCallSite.java:300:in `cacheAndCall'

    from CachingCallSite.java:118:in `callBlock'

    from CachingCallSite.java:133:in `callIter'

    from FCallNoArgBlockNode.java:32:in `interpret'

    from NewlineNode.java:104:in `interpret'

    from InterpretedMethod.java:155:in `call'

    from DefaultMethod.java:161:in `call'

    from CachingCallSite.java:300:in `cacheAndCall'

    from CachingCallSite.java:118:in `callBlock'

    from CachingCallSite.java:123:in `call'

    from CallNoArgBlockNode.java:64:in `interpret'

    from NewlineNode.java:104:in `interpret'

    from BlockNode.java:71:in `interpret'

    from InterpretedMethod.java:229:in `call'

    from DefaultMethod.java:193:in `call'

    from CachingCallSite.java:340:in `cacheAndCall'

    from CachingCallSite.java:198:in `callBlock'

    from CachingCallSite.java:203:in `call'

    from RubyClass.java:720:in `call'

    from DynamicMethod.java:184:in `call'

    from WrapperMethod.java:62:in `call'

    from CachingCallSite.java:330:in `cacheAndCall'

    from CachingCallSite.java:189:in `call'

    from FCallTwoArgNode.java:38:in `interpret'

    from LocalAsgnNode.java:123:in `interpret'

    from NewlineNode.java:104:in `interpret'

    from BlockNode.java:71:in `interpret'

    from EnsureNode.java:96:in `interpret'

    from InterpretedMethod.java:229:in `call'

    from DefaultMethod.java:193:in `call'

    from CachingCallSite.java:340:in `cacheAndCall'

    from CachingCallSite.java:198:in `callBlock'

    from CachingCallSite.java:203:in `call'

    from CallTwoArgBlockPassNode.java:62:in `interpret'

    from NewlineNode.java:104:in `interpret'

    from BlockNode.java:71:in `interpret'

    from InterpretedMethod.java:266:in `call'

    from DefaultMethod.java:209:in `call'

    from CachingCallSite.java:360:in `cacheAndCall'

    from CachingCallSite.java:238:in `callBlock'

    from CachingCallSite.java:253:in `callIter'

    from CallThreeArgBlockNode.java:64:in `interpret'

    from NewlineNode.java:104:in `interpret'

    from BlockNode.java:71:in `interpret'

    from InterpretedMethod.java:247:in `call'

    from DefaultMethod.java:201:in `call'

    from CachingCallSite.java:350:in `cacheAndCall'

    from CachingCallSite.java:229:in `call'

    from FCallThreeArgNode.java:40:in `interpret'

    from LocalAsgnNode.java:123:in `interpret'

    from NewlineNode.java:104:in `interpret'

    from InterpretedBlock.java:317:in `evalBlockBody'

    from InterpretedBlock.java:268:in `yield'

    from Block.java:194:in `yield'

    from RubyIO.java:1067:in `open'

    from RubyKernel.java:284:in `open'

    from org/jruby/RubyKernel$s_method_0_2$RUBYFRAMEDINVOKER$open.gen:-1:in `call'

    from DynamicMethod.java:188:in `call'

    from CachingCallSite.java:340:in `cacheAndCall'

    from CachingCallSite.java:198:in `callBlock'

    from CachingCallSite.java:213:in `callIter'

    from FCallTwoArgBlockNode.java:34:in `interpret'

    from NewlineNode.java:104:in `interpret'

    from IfNode.java:119:in `interpret'

    from NewlineNode.java:104:in `interpret'

    from BlockNode.java:71:in `interpret'

    from InterpretedMethod.java:210:in `call'

    from DefaultMethod.java:185:in `call'

    from CachingCallSite.java:330:in `cacheAndCall'

    from CachingCallSite.java:189:in `call'

    from CallTwoArgNode.java:59:in `interpret'

    from InstAsgnNode.java:95:in `interpret'

    from NewlineNode.java:104:in `interpret'

    from RescueNode.java:225:in `executeBody'

    from RescueNode.java:147:in `interpretWithJavaExceptions'

    from RescueNode.java:110:in `interpret'

    from BeginNode.java:83:in `interpret'

    from NewlineNode.java:104:in `interpret'

    from BlockNode.java:71:in `interpret'

    from InterpretedMethod.java:229:in `call'

    from DefaultMethod.java:193:in `call'

    from CachingCallSite.java:340:in `cacheAndCall'

    from CachingCallSite.java:198:in `callBlock'

    from CachingCallSite.java:203:in `call'

    from RubyClass.java:720:in `call'

    from DynamicMethod.java:184:in `call'

    from CachingCallSite.java:330:in `cacheAndCall'

    from CachingCallSite.java:189:in `call'

    from CallTwoArgNode.java:59:in `interpret'

    from DAsgnNode.java:110:in `interpret'

    from NewlineNode.java:104:in `interpret'

    from BlockNode.java:71:in `interpret'

    from InterpretedBlock.java:317:in `evalBlockBody'

    from InterpretedBlock.java:268:in `yield'

    from Block.java:194:in `yield'

    from RubyArray.java:1635:in `eachCommon'

    from RubyArray.java:1642:in `each'

    from org/jruby/RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.gen:-1:in `call'

    from CachingCallSite.java:300:in `cacheAndCall'

    from CachingCallSite.java:118:in `callBlock'

    from CachingCallSite.java:123:in `call'

    from CallNoArgBlockNode.java:64:in `interpret'

    from NewlineNode.java:104:in `interpret'

    from BlockNode.java:71:in `interpret'

    from InterpretedMethod.java:210:in `call'

    from DefaultMethod.java:185:in `call'

    from CachingCallSite.java:330:in `cacheAndCall'

    from CachingCallSite.java:189:in `call'

    from CallTwoArgNode.java:59:in `interpret'

    from NewlineNode.java:104:in `interpret'

    from BlockNode.java:71:in `interpret'

    from RescueNode.java:225:in `executeBody'

    from RescueNode.java:147:in `interpretWithJavaExceptions'

    from RescueNode.java:110:in `interpret'

    from BeginNode.java:83:in `interpret'

    from NewlineNode.java:104:in `interpret'

    from InterpretedBlock.java:317:in `evalBlockBody'

    from InterpretedBlock.java:268:in `yield'

    from Block.java:194:in `yield'

    from RubyArray.java:1635:in `eachCommon'

    from RubyArray.java:1642:in `each'

    from org/jruby/RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.gen:-1:in `call'

    from CachingCallSite.java:300:in `cacheAndCall'

    from CachingCallSite.java:118:in `callBlock'

    from CachingCallSite.java:123:in `call'

    from CallNoArgBlockNode.java:64:in `interpret'

    from NewlineNode.java:104:in `interpret'

    from BlockNode.java:71:in `interpret'

    from InterpretedMethod.java:136:in `call'

    from DefaultMethod.java:153:in `call'

    from CachingCallSite.java:290:in `cacheAndCall'

    from CachingCallSite.java:109:in `call'

    from VCallNode.java:85:in `interpret'

    from NewlineNode.java:104:in `interpret'

    from IfNode.java:119:in `interpret'

    from IfNode.java:119:in `interpret'

    from NewlineNode.java:104:in `interpret'

    from BlockNode.java:71:in `interpret'

    from InterpretedMethod.java:247:in `call'

    from DefaultMethod.java:201:in `call'

    from CachingCallSite.java:350:in `cacheAndCall'

    from CachingCallSite.java:229:in `call'

    from CallSpecialArgNode.java:71:in `interpret'

    from NewlineNode.java:104:in `interpret'

    from BlockNode.java:71:in `interpret'

    from CaseNode.java:138:in `interpret'

    from NewlineNode.java:104:in `interpret'

    from BlockNode.java:71:in `interpret'

    from InterpretedMethod.java:173:in `call'

    from DefaultMethod.java:169:in `call'

    from CachingCallSite.java:310:in `cacheAndCall'

    from CachingCallSite.java:149:in `call'

    from FCallOneArgNode.java:36:in `interpret'

    from NewlineNode.java:104:in `interpret'

    from RescueNode.java:225:in `executeBody'

    from RescueNode.java:147:in `interpretWithJavaExceptions'

    from RescueNode.java:110:in `interpret'

    from InterpretedMethod.java:173:in `call'

    from DefaultMethod.java:169:in `call'

    from CachingCallSite.java:310:in `cacheAndCall'

    from CachingCallSite.java:149:in `call'

    from CallOneArgNode.java:57:in `interpret'

    from NewlineNode.java:104:in `interpret'

    from BlockNode.java:71:in `interpret'

    from InterpretedMethod.java:173:in `call'

    from DefaultMethod.java:169:in `call'

    from CachingCallSite.java:310:in `cacheAndCall'

    from CachingCallSite.java:149:in `call'

    from gem:24:in `rescue_1$RUBY$__rescue___0'

    from gem:23:in `__file__'

    from gem:-1:in `load'

    from Ruby.java:628:in `runScript'

    from Ruby.java:550:in `runNormally'

    from Ruby.java:396:in `runFromMain'

    from Main.java:272:in `run'

    from Main.java:117:in `run'

    from Main.java:97:in `main'

我还尝试了jruby -S gem install warbler -v 1.2.1jgem install warbler -v 1.2.1

结果相同

2 个答案:

答案 0 :(得分:0)

错误消息的第一行显示:

tlb rake task creation failed!, make sure you have installed the tlb-rspec1 gem

你试过这个吗?

答案 1 :(得分:0)

这听起来像是一个臭虫。它可能就是这个:http://bug.jruby.org/5581(虽然你在1.4.0中得到这个很奇怪。)

有几种选择,假设您遇到JRuby 1.4.0:

  1. https://github.com/olabini/yecht查看yecht源代码,构建yecht.jar,将其插入JRuby 1.4.0源代码lib/ruby/site_ruby/shared/yecht.jar,然后重建jruby.jar。这个可能(或可能不会)通过修复程序获得JRuby 1.4.0。
  2. 尝试Bundler。它可能适用于Rails 2.3.4:http://gembundler.com/rails23.html