在语义版本控制中使用哪个版本的gem?

时间:2015-06-08 09:47:54

标签: ruby-on-rails ruby gem rubygems semantic-versioning

让我们说你正在使用Devise宝石。您应该在Gemfile中使用以下哪个版本:

'devise', '~> 3.5.1'

OR

'devise', '~> 3.5'

使用其中一个的优点和缺点是什么?

根据RubyGems:

  

实施级别细节更改的PATCH 0.0.x级别更改,   比如小错误修复

     

对于任何向后兼容的API更改,MINOR 0.x.0级别更改,   例如新功能/特性

     

对于向后不兼容的API更改,MAJOR x.0.0级别更改,例如   如果更改将破坏现有用户代码,如果他们更新

那么使用'devise', '~> 3.5'是否有意义,因为在bundle update运行后会有一些小错误修复?

1 个答案:

答案 0 :(得分:0)

我认为您应该使用Rails应用程序中的完整版本号(或者至少包括您的Gemfile.lock),以及库/ rails引擎中的其他次要版本号。

我在这里解释了Yehuda Katz的Gem Versioning and Bundler: Doing it Right。我可能错了,但到目前为止我做得很好并且运作良好。