2012-10-25 53 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。