~>
在Ruby gem依赖关系的上下文中意味着什么?
例如,在RubyMine IDE中打开旧项目时,我得到了这个 消息
Gems required for project are not attached: arel (~> 2.0.2), rspec-expectation (~> 2.5.0)...
我已经在Ruby世界的其他地方看到过这种波浪形式 - 而不是 特定于RubyMine)。此运算符是否具有除。之外的名称 尴尬的波浪号大于?
答案 0 :(得分:188)
表示“等于或大于最后一位数”,例如~> 2.3
表示
“等于2.3或大于2.3,但小于3.0”,而~> 2.3.0
则为
意思是“等于2.3.0或大于2.3.0,但小于2.4.0”。
您可以将其发音为“大于”。
答案 1 :(得分:2)
表示任何较低版本等于或大于,但不是主要版本。
因此,例如arel (~> 2.0.2)
,将使用(如果可用)版本
但它不会使用2.1。?
答案 2 :(得分:2)
根据互联网
如果RubyGem依赖项使用语法“〜> 1.4.37”,则表示“版本大于或等于1.4.37,但不是1.5或更高”。 1
换句话说,对你来说
arel
可以是2.1 > version >= 2.0.2
和
rspec-expectation
可以是2.6 > version >= 2.5.0
。
答案 3 :(得分:1)
这意味着您期望一个版本为2.0.2或更高版本的gem,但在arel (~> 2.0.2)
的情况下不是2.1这样做是因为人们不应该在次要版本中发布重要的语法更改。所以arel 2.0.3
预计会有超过2.0.2的错误/稳定性修复