Jör*_*tag 90
RubyGems手册将此称为 悲观版本约束.
假设您已指定n部分版本号,例如1.3
(2部分)或
3.5.6.2
(4部分)作为约束.然后,为了满足约束,版本号必须满足以下两个条件
版本号的前n-1部分必须与约束的前n-1部分相同(例如1.x
或3.5.6.x
匹配,但是0.x
或3.5.7.x
不匹配)和
版本号的最后一部分必须大于或等于约束的最后部分(例如1.9999
,3.5.6.2
匹配,但是1.2
或3.5.6.1
不匹配).
换一种说法
~> x1.x2.x3. … .xn-2.xn-1.xn
火柴
x1.x2.x3. … .xn-2.xn-1.y, y >= xn
这被称为"悲观"约束的原因,以及它的用例,就是当你刚才说> x.y.z
,你是乐观的:你认为从现在开始,直到永恒,API永远不会改变.这当然是一个非常大胆的假设.然而,大多数项目都有,当他们被允许的规则
打破向后兼容性,以及他们如何改变他们的版本号,当他们这样做打破向后兼容性.您可以使用悲观约束对这些版本编号规则进行编码,因此您可以确保您的代码将始终继续工作(假设其他项目的作者实际上遵守了他自己的规则,但遗憾的是并非总是如此) ).
小智 15
换句话说,您可以使用此符号来保持宝石更新所有次要更新,并避免进行可能破坏您的应用程序的重大更新.
例如,"〜> 1.2"会将您的gem更新为1.3(如果发布此类版本),但不会将其更新为2.0
归档时间: |
|
查看次数: |
12350 次 |
最近记录: |