Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 了解Gemfile.lock中的tilde运算符_Ruby_Rubygems_Gemfile - Fatal编程技术网

Ruby 了解Gemfile.lock中的tilde运算符

Ruby 了解Gemfile.lock中的tilde运算符,ruby,rubygems,gemfile,Ruby,Rubygems,Gemfile,我目前有以下依赖项 i18n (~> 0.6, >= 0.6.4) 我一直在通读这本书 我发现,“~>0.6”部分表示0.6和1.0之间的任何内容-如果这是错误的,请纠正我 但我仍然很困惑,第二个逗号分隔的值到底意味着什么 一位同事认为这意味着 >= 0.6.4, <= 0.7 =0.6.4,简短回答:正如霍尔格在评论中指出的那样,~>0.6,>=0.6.4意味着=0.6.4和操作符被称为(或twiddle wakka),其目标是在将来的版本中保护gem免受潜在的bu

我目前有以下依赖项

i18n (~> 0.6, >= 0.6.4)
我一直在通读这本书

我发现,“~>0.6”部分表示0.6和1.0之间的任何内容-如果这是错误的,请纠正我

但我仍然很困惑,第二个逗号分隔的值到底意味着什么

一位同事认为这意味着

>= 0.6.4, <= 0.7

=0.6.4,简短回答:正如霍尔格在评论中指出的那样,
~>0.6,>=0.6.4
意味着
=0.6.4和<1.0

~>
操作符被称为(或twiddle wakka),其目标是在将来的版本中保护gem免受潜在的bug/故障

构建gem时,必须创建一个特殊文件,并将其放入
.gemspec
文件或Rakefile中。此类包含gem的信息,如名称、版本、许可证和依赖项

在悲观版本约束之后指定依赖项是一种很好的做法。因此,像
~>0.6、>=0.6.4
这样的符号非常常见


您可以找到更多信息。

这取决于指定的精度:
~>0.6
表示
=0.6和<1.0
,而
~>0.6.4
表示
=0.6.4和<0.7
。请注意,开始总是包含的(>=),结束总是独占的(不幸的是,简短答案的可能重复是错误的。问题中的规范与
=0.6.4,<1.0
相同。这是因为
~>0.6
意味着
=0.6,<1.0
,然后从底部进一步限制为只允许版本
=0.6.4
。好吧,OP明确地指“~>0.6”部分”