Ruby Twiddle wakka用于语义版本控制
发件人: ~>1.1意味着当您捆绑安装时,您将获得范围>=1.1和<2.0之间的最高版本的thin ~>3.0.3意味着当您捆绑安装时,您将获得范围>=3.0.3和<3.1之间的最高版本的rails 发件人: 那么Ruby Twiddle wakka用于语义版本控制,ruby,semantic-versioning,Ruby,Semantic Versioning,发件人: ~>1.1意味着当您捆绑安装时,您将获得范围>=1.1和3.0.3意味着当您捆绑安装时,您将获得范围>=3.0.3和0.1.0会把你从1.0.0>x>=0.1.0带到哪里呢 另外,当人们说他们正在努力“让one point oh版本”出门时,他们指的是v1.0.0吗?即使在1之后有两个0。基本上是旋转瓦卡(~>),也只有最后一个数字可以改变 ~>0.1.0不会将您带到0.1.x之外的任何地方,因此不是1.0.0,甚至不是0.2.0 在我看来,要按照semver的意图指定一个版本,可以指
~>0.1.0
会把你从1.0.0>x>=0.1.0
带到哪里呢
另外,当人们说他们正在努力“让
one point oh
版本”出门时,他们指的是v1.0.0
吗?即使在1之后有两个0。基本上是旋转瓦卡(~>
),也只有最后一个数字可以改变
~>0.1.0
不会将您带到0.1.x
之外的任何地方,因此不是1.0.0
,甚至不是0.2.0
在我看来,要按照semver的意图指定一个版本,可以指定一个小的旋转waka,例如~>0.2
。因此,您可以获得功能升级(到0.3(.x)
,0.4(.x)
,0.x.y
,甚至0.10.99
!),但不能向后进行更改(到1.0
或1.0.x
)
如果你想改变MAJOR
,从1.0
到2.0
和9.0
在同一个规范上,那么我想你没有真正的版本规范;o)
这就是说,一些对您的项目更基本/更核心的宝石可能会从更密切的关注中受益,使用补丁级别~>
,例如~>4.2.17
。(这是我在Rails项目中对Rails采用的一种策略。)基本上,任何可以使升级/升级变得非常重要的东西
(是的,提到“一点oh”包括
1.0.0
,1.0.1
等等)所以~>0.1
可能会让你达到0.9.99
,~>1.0
可能会让你达到9.99.99
?~>0.1
匹配0.9.99
,是的<代码>~>1.0匹配1.9.99
,但不匹配2.0
,因此不匹配9.9.x
。如果MAJOR
可以更改,那么我猜您没有版本规范;o)
Given a version number MAJOR.MINOR.PATCH, increment the:
MAJOR version when you make incompatible API changes,
MINOR version when you add functionality in a backwards-compatible manner, and
PATCH version when you make backwards-compatible bug fixes.