2012-10-25 52 views
2

最低版本要求我保持与依赖性的宝石存储在一个Gemfile,例如:验证与捆绑

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

感谢pessimistic version constraints,打捆会默认安装的foo最新1.x版本,但如果我的宝石与另一个需要(例如)

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

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

+0

'gem'foo','<= 1.5''? –

+0

或者你的意思是你想测试而不改变你的gemfile? –

+0

@AlexPeattie是的,概念上版本依赖不会改变,我只想*安装*最低适用而不是最高 – Gareth

回答

2

因为我们决定使用RubyGems的需求类,没有指定的最低版本的方式。我依稀记得一个自动化测试工具,以帮助您遍历依赖版本的你想测试一下,但是它很难自动化,因为有可能是指数级的可能的版本组合。我建议用你想测试的最旧版本创建第二个Gemfile,然后使用BUNDLE_GEMFILE在额外的附件上运行该Gemfile CI build。