Gem 版本控制:语法之间的区别?

Gem versioning: difference between syntax?

将 gem 包含到 rails 应用程序中的以下两种语法有何区别?

gem 'apartment', '~> 1.0', '>= 1.0.2'

gem 'apartment', '~> 1.0'

说明符 ~> 具有特殊含义,最好通过示例来说明。

~> 2.0.3 

等同于

>= 2.0.3 and < 2.1

~> 2.1 

等同于

>= 2.1 and < 3.0 

~> 2.2.beta 将匹配预发布版本,例如 2.2.beta.12.

*取自伟大的Bundler.io

这一行表示 "any 1.0 version":

gem 'apartment', '~> 1.0'

这一行表示 "any 1.0 version at least 1.0.2"

gem 'apartment', '~> 1.0', '>= 1.0.2'

都不应该允许 2.0 或更高版本。