2012-04-23 90 views
3

我在業餘時間編寫了RoR Web應用程序。像任何人(我猜),我使用寶石(約20)。指定寶石版本或始終使用最新版本?

有幾次,我在部署生產環境中的應用程序時,因爲我沒有指定我的所有寶石的確切版本有錯誤,所以他們中的一些進行了更新而導致的錯誤。

我很擔心留在一個特定的版本爲我所有的寶石,當我需要更新其中一個(或一些),整個事情崩潰了(我有問題爲飛行獅身人面像製作寶石和更新後,twitter會一起工作)。

我的問題是:應該兼職編碼器修復一勞永逸的所有寶石的版本中使用還是值得檢查每個更新的時間?你如何管理你的Gemfile?

而且我認爲,當你全職,你應該始終保持最新(安全性能),但真有這回事?

回答

5

我大多用這種版本規範的堅守:

gem "blah", "~> 1.4.2" 

這意味着一個版本號>= 1.4.2< 1.5.0

大多數寶石遵循語義版本方案或至少只是做一個版本時打破的東西跳。這樣,我是'安全'的,但仍然得到好的部分(錯誤修復等)。

鎖定下來確切的版本號是背後Gemfile.lock想法,所以我檢查這個版本控制,太。迄今爲止,這種方法對我來說非常合適,而且我從來沒有遇到過這種方法的問題。