gpt4 book ai didi

jruby - 让 trinidad 依赖 jruby-rack 的替代版本的最简单方法?

转载 作者:行者123 更新时间:2023-12-01 18:17:22 26 4
gpt4 key购买 nike

当前的 Trinidad gem 依赖于 jruby-rack 1.1.0,它在我的每一项 Assets 的开发日志中显示了一些错误

/Users/bijan/.rvm/gems/jruby-1.7.3/gems/rack-1.4.5/lib/rack/utils.rb:399 警告: block 参数有多个值(2 个为1)

这个问题显然已经在当前的 jruby-rack (1.2) 主分支中得到解决,我想让 trinidad 依赖于此。

有没有办法在我的 Gemfile 中执行此操作?或者另一个比 fork Trinidad gem 并指定不同版本的 jruby-rack 更简单的解决方案(并希望它能工作,因为它可能不会)。

最佳答案

TL;DR - 不是真的。您需要构建一个或两个项目,或者通过发布的方式从 jruby-rack 团队获得一些帮助。请参阅底部了解构建步骤。

<小时/>

当前的 Trinidad 版本(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 版本。或者他们可能愿意从大师处进行预发布。

<小时/>

我尚未测试 Assets 是否正常工作,但构建和指定本地版本相对容易:

# 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' 来满足 Trinidad 的要求并测试您的问题是否得到解决。

关于jruby - 让 trinidad 依赖 jruby-rack 的替代版本的最简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15370906/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com