我维护一个包含存储在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.0
和bar =2.0.5
),以便我可以测试,在我写了一些新功能后,我的gem是否仍然可以与使用这些较低版本的其他环境结合使用?
或者,是我手动重新安装所有最低版本然后运行测试的唯一方法吗?
答案 0 :(得分:2)
因为我们决定使用Rubygems的Requirement类,所以没有办法指定最低版本。我依旧回忆起一个自动化的测试工具,可以帮助你迭代你要测试的依赖版本,但是自动化非常困难,因为有一些指数可能的版本组合。我建议创建第二个Gemfile,其中包含您要测试的最旧版本,并使用BUNDLE_GEMFILE在其他CI版本中针对该Gemfile运行。
答案 1 :(得分:1)
我在IRC中看到了你的问题...根据我的理解,没有改变你的Gemfile就没办法做到这一点。抱歉。 :(
https://github.com/carlhuda/bundler/blob/master/lib/bundler/cli.rb以供参考