当前的千里达gem依赖于jruby-rak1.1.0,它在我的开发日志中显示了我的每一个资产的一些错误
/Users/bijan/.rvm/gems/jruby-1.7.3/gems/rack-1.4.5/lib/rack/utils.rb:399 warning: multiple values for a block parameter (2 for 1)
这个问题显然已经在当前的jruby-rack (1.2)主分支中得到了解决,我想让千里达依赖这个问题。
有没有办法在我的Gemfile中做到这一点?或者另一种更简单的解决方案,而不是派生千里达gem并指定不同版本的jruby-rack (希望它可以工作,因为它可能不能工作)。
发布于 2013-03-29 04:37:23
TL;DR -不完全是。您需要构建一个或两个项目,或者通过发布的方式从jruby-rack团队获得一些帮助。有关构建步骤,请参阅底部。
当前的千里达版本(1.4.4和1.4.5B1预发行版)使用具有乐观版本控制的jruby-rack (分别为>= 1.1.10和>= 1.1.13 ),因此任何满足这一点(例如,1.2.0)的依赖项都将在不接触千里达的情况下优先使用。
不幸的是,由于JAR的打包方式,git:或github:依赖项将无法工作。您将需要build the gem自己。这并不是太糟糕--除了可以正常工作的JDK/JRuby设置之外,您实际上只需要Maven即可。
一旦jruby-rack构建/发布了这些更改,就可以在Gemfile中指定一个可工作的版本(假设它的版本是1.2.0):
gem 'jruby-rack', '~> 1.2.0'
gem 'trinidad'也许jruby-rack团队可以将这个特定的更改支持到1.1.13维护行,并推动1.1.13.2版本,如果它没有引入不兼容的话。或者他们可能愿意从师父那里做一个预发行。
我还没有测试资产是否正常工作,但是构建和指定本地版本相对容易:
# Assuming mvn is on the path, JRuby is active, and you
# have gem install permissions:
git clone https://github.com/jruby/jruby-rack.git
cd jruby-rack
bundle install
bundle exec rake clean gem SKIP_SPECS=true
gem install --local target/jruby-rack-1.2.0.SNAPSHOT.gem在此之后,您可以在Gemfile中使用gem 'jruby-rack', '~> 1.2.0.SNAPSHOT'来满足千里达,并测试您的问题是否已解决。
https://stackoverflow.com/questions/15370906
复制相似问题