菜单开关

周梦康 发表于 2019-01-22 42 次浏览

免费领取阿里云优惠券 我的直播 - 《PHP 进阶之路》

一个标准的版本号必须是X.Y.Z的形式,X是主版本,Y是副版本,Z是补丁版本。.

  • X: 代表发生了不兼容的API改变
  • Y: 代表向后兼容的功能性变化
  • Z: 代表向后兼容bug fixes
语义化版本号规则
X.Y.Z - A.B.C 连字符范围

1.2.3 - 2.3.4 等价于 >=1.2.3 <=2.3.4
1.2.3 - 2 等价于 >=1.2.3 <3.0.0

~1.2.3 波浪线范围

~1.2.3 等价于 >=1.2.3 <1.(2+1).0 等价于="">=1.2.3 <1.3.0
~1.2 等价于 >=1.2.0 <1.(2+1).0 等价于="">=1.2.0 <1.3.0 (Same as 1.2.x)
~1 等价于 >=1.0.0 <(1+1).0.0 等价于 >=1.0.0 <2.0.0 (Same as 1.x)

~0.2.3 等价于 >=0.2.3 <0.(2+1).0 等价于="">=0.2.3 <0.3.0
~0.2 等价于 >=0.2.0 <0.(2+1).0 等价于="">=0.2.0 <0.3.0 (Same as 0.2.x)
~0 等价于 >=0.0.0 <(0+1).0.0 等价于 >=0.0.0 <1.0.0 (Same as 0.x)

^1.2.3 脱字符范围

脱字符范围之后指定从左面起第一个非零位置的范围。

^1.2.3 等价于 >=1.2.3 <2.0.0
^0.2.3 等价于 >=0.2.3 <0.3.0
^0.0.3 等价于 >=0.0.3 <0.0.4,即等价于0.0.3

当然如果最后一位省略了或为通配符x,X,*,则指定前一位字符的范围,如

^1.2.x 等价于 >=1.2.0 <2.0.0
^0.0.x 等价于 >=0.0.0 <0.1.0
^0.0 等价于 >=0.0.0 <0.1.0

参考文档

http://semver.org/
https://docs.npmjs.com/misc/semver

嗨,老铁,欢迎来到我的博客!

如果觉得我的内容还不错的话,可以关注下我在 segmentfault.com 上的直播。我主要从事 PHP 和 Java 方面的开发,《深入 PHP 内核》作者之一。

[视频直播] PHP 进阶之路 - 亿级 pv 网站架构的技术细节与套路 直播中我将毫无保留的分享我这六年的全部工作经验和踩坑的故事,以及会穿插着一些面试中的 考点难点加分点

评论列表