了解 Gemfile.lock 中的代字号运算符
Understanding the tilde operator in Gemfile.lock
我目前有以下依赖关系
i18n (~> 0.6, >= 0.6.4)
我一直在通读 Ruby Gems - Declaring Dependency Guide
而且我发现“~> 0.6”部分表示 0.6 和 1.0 之间的任何值 - 如果有误请指正。
但我仍然很困惑,第二个逗号分隔值实际上意味着什么?
一位同事认为这意味着
>= 0.6.4, <= 0.7
但我不太确定。
简短回答:正如 Holger 在评论中指出的那样,~> 0.6, >= 0.6.4
表示 >= 0.6.4 and < 1.0
。
~>
运算符被称为 pessimistic operator(或 twiddle-wakka),它的 objective 是为了保护 gem 免受潜在的 bugs/failures在未来的版本中。
当您构建 gem 时,您必须创建一个特殊的 Specification Class 并将其放入 .gemspec
文件或 Rakefile 中。此 class 包含 gem 的信息,例如其名称、版本、许可证和依赖项。
在悲观版本约束之后指定依赖项是一个好习惯。因此,像 ~> 0.6, >= 0.6.4
这样的符号很常见。
您可以找到更多信息here。
我目前有以下依赖关系
i18n (~> 0.6, >= 0.6.4)
我一直在通读 Ruby Gems - Declaring Dependency Guide
而且我发现“~> 0.6”部分表示 0.6 和 1.0 之间的任何值 - 如果有误请指正。
但我仍然很困惑,第二个逗号分隔值实际上意味着什么?
一位同事认为这意味着
>= 0.6.4, <= 0.7
但我不太确定。
简短回答:正如 Holger 在评论中指出的那样,~> 0.6, >= 0.6.4
表示 >= 0.6.4 and < 1.0
。
~>
运算符被称为 pessimistic operator(或 twiddle-wakka),它的 objective 是为了保护 gem 免受潜在的 bugs/failures在未来的版本中。
当您构建 gem 时,您必须创建一个特殊的 Specification Class 并将其放入 .gemspec
文件或 Rakefile 中。此 class 包含 gem 的信息,例如其名称、版本、许可证和依赖项。
在悲观版本约束之后指定依赖项是一个好习惯。因此,像 ~> 0.6, >= 0.6.4
这样的符号很常见。
您可以找到更多信息here。