〜>符号在捆绑器Gemfile中的含义是什么?

我的问题几乎就在标题中。

例如,在使用Rails 3.1应用程序创建的默认Gemfile中;

gem 'sass-rails', '~> 3.1.5' 

好像我应该知道这一点,但我在Bundler网站上找不到任何引用。

来自bundler网站:

说明符〜>具有特殊含义,最好通过示例显示。 〜> 2.0.3与> = 2.0.3和<2.1相同。 〜> 2.1与> = 2.1和<3.0相同。 〜> 2.2.beta将匹配像2.2.beta.12这样的预发布版本。

请参阅http://gembundler.com/gemfile.html和http://guides.rubygems.org/patterns/#pessimistic-version-constraint

您通常使用此命令告诉bundler可以安装一些次要更新(指定的最后一位数可能会有所不同)但不安装一些主要更新。

所以

~> 2.0.3表示>= 2.0.3 < 2.1

~> 2.1表示>= 2.1 2.1∩ < 3.0

有关详情,请访问http://gembundler.com/gemfile.html