Gemfile中“〜> 4.0.1”,“4.0.1”和没有版本说明符有什么区别?

时间:2012-08-25 21:25:26

标签: ruby-on-rails ruby gem gemfile

在Rails Gemfile中,它们之间有什么区别:

gem "gemname", "~> 4.0.1"

gem "gemname", "4.0.1"

gem "gemname"

还应该使用哪种方式,以及遵循这种方式的好处?

1 个答案:

答案 0 :(得分:42)

第一个将告诉bundler加载任何与最后一个(补丁)号不同的gem。所以4.0.x其中x是1或更大。

第二个只加载4.0.1。

第三个将获得最高值(取决于Gemfile中其他gem的需求)或者获取Gemfile.lock中指定的任何内容(如果有的话)。

我错过了你的第二个问题。坦率地说,这取决于。在大多数情况下,我选择第一个选项,因为它可以让我修复错误修复,而不用担心它会如何影响我的其他宝石。