使用bundler验证最低版本要求

时间:2012-10-25 21:10:35

标签: ruby bundler

我维护一个包含存储在Gemfile中的依赖项的gem,例如:

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

感谢pessimistic version constraints,bundler将默认安装最新 1.x版本的foo,但如果使用我的gem,可能会在较低版本上妥协与另一个需要(例如)foo =1.6.2

的人一起使用

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

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

2 个答案:

答案 0 :(得分:2)

因为我们决定使用Rubygems的Requirement类,所以没有办法指定最低版本。我依旧回忆起一个自动化的测试工具,可以帮助你迭代你要测试的依赖版本,但是自动化非常困难,因为有一些指数可能的版本组合。我建议创建第二个Gemfile,其中包含您要测试的最旧版本,并使用BUNDLE_GEMFILE在其他CI版本中针对该Gemfile运行。

答案 1 :(得分:1)

我在IRC中看到了你的问题...根据我的理解,没有改变你的Gemfile就没办法做到这一点。抱歉。 :(

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

相关问题