2

我维护一个gem,其依赖项存储在 aGemfile中,例如:

gem 'foo', '~> 1.5'
gem 'bar', '~> 2.0.5'

由于悲观的版本限制, bundler将默认安装最新 1.x版本的foofoo =1.6.2

问题:有没有一种简单的方法可以让 bundler 安装我的依赖项的所有最低版本(在这种情况下,foo =1.5.0bar =2.0.5),以便我可以测试,在我编写一些新功能之后,我的 gem 是否仍然可以与其他使用那些较低版本的环境?

或者,是我手动重新安装所有最低版本然后运行测试的唯一方法吗?

4

2 回答 2

2

因为我们决定使用 Rubygems 的 Requirement 类,所以无法指定最低版本。我隐约记得有一个自动化测试工具可以帮助您迭代要测试的依赖版本,但是自动化非常困难,因为可能的版本组合数量呈指数级增长。我建议使用您要测试的最旧版本创建第二个 Gemfile,并使用 BUNDLE_GEMFILE 在额外的 CI 构建中针对该 Gemfile 运行。

于 2012-10-26T15:46:57.330 回答
1

我在 IRC 中看到了您的问题...据我了解,如果不更改您的 Gemfile,就无法做到这一点。对不起。:(

https://github.com/carlhuda/bundler/blob/master/lib/bundler/cli.rb供参考

于 2012-10-25T22:26:35.157 回答