2012-02-07 75 views
1

大多數rails項目都有一個非常特定的版本,包含在它們的gemfile中,緊跟在rails new foo之後。我應該將寶石「導軌」固定在版本上嗎?

例如gem 'rails', '3.1.3'

,豈不是更好地將其更改爲允許點版本,例如將導軌定義爲gem 'rails', '~>3.2'

軌道版本編號是如何完成的?我發現Dot-releases之間的市長變化,例如從3.0升級到3.1需要相當嚴重的變化(主要是資產管道)。這對於s​​ubreleases是如何? 3.2.1是一個錯誤修復3.2.0版嗎?

+0

你必須看到他們的「釋放」筆記。它們的慣例和他們堅持他們的政策。 – uday 2012-02-07 18:41:43

回答

1

有沒有真正任何理由不使用~>約束,但你應該把:

gem 'rails', '~>3.1.3' 

,因爲這將意味着任何3.1.X至少是3.1.3。把~>3.1意味着與任何Rails版本3.x兼容。據我所知,Rails版本控制如下semantic versioning

但是,我認爲指定確切版本的想法是,您閱讀每個版本的發行說明並做出具體的努力來驗證它是否可行。不過,最終這一切都取決於你。你應該確定你在某種程度上遵循Rails版本的提要,所以你總是知道安全發佈的方式。