Ruby on rails bundler gem悲观语义版本字符串~>;1.7.15
我注意到在ruby语义版本字符串中,对于悲观运算符,出现了一些意想不到的行为 我认为Ruby on rails bundler gem悲观语义版本字符串~>;1.7.15,ruby-on-rails,ruby,rubygems,semantics,Ruby On Rails,Ruby,Rubygems,Semantics,我注意到在ruby语义版本字符串中,对于悲观运算符,出现了一些意想不到的行为 我认为~>1.7.15应该同时满足1.7.20和1.7.2。但是我用Gem::Requirement进行了测试。通过?得到了满足,它说第一个是true,而第二个是false 与~>0.9.26和0.9.30和0.9.3相同 有人能解释一下为什么会这样吗?你对工作原理有误解 如果库的版本为1.7.0,并且作者在后续版本中不断增加补丁版本号,则库的版本增加如下: 1.7.0 1.7.1 1.7.2 1.7.3 ... 1.
~>1.7.15
应该同时满足1.7.20
和1.7.2
。但是我用Gem::Requirement进行了测试。通过?
得到了满足,它说第一个是true
,而第二个是false
与~>0.9.26
和0.9.30
和0.9.3
相同
有人能解释一下为什么会这样吗?你对工作原理有误解 如果库的版本为
1.7.0
,并且作者在后续版本中不断增加补丁版本号,则库的版本增加如下:
1.7.0
1.7.1
1.7.2
1.7.3
...
1.7.9
1.7.10
1.7.11
1.7.12
1.7.13
...
1.7.19
1.7.20
1.7.21
1.7.22
1.7.23
...
如果在某一点上次要版本号出现冲突,则下一版本将是1.8.0
然后,如果在某一点上主版本号被碰撞,那么下一个版本将是2.0.0
版本
0.9.26
在0.9.30
之前,但在0.9.3
之后
版本0.9.30
和版本0.9.3
不是一回事
版本是一个
字符串
,而不是数字。太棒了。现在一切都搞定了。