Semver 知识点速查

这个 semver 语义化版本快速参考知识点速查。

语义化版本标准

介绍

Semver 是一种语义版本控制规范。

Semver

--
主版本号(MAJOR)当你做了不兼容的 API 修改
次版本号(MINOR)当你做了向下兼容的功能性新增
修订号(PATCH)当你做了向下兼容的问题修正

简单范围

  1.2.3
 =1.2.3
 >1.2.3
 <1.2.3
>=1.2.3

请注意,后缀版本(1.2.3-rc1)不匹配。

范围

范围描述Notes
~1.2.3>=1.2.3 <1.3.0
^1.2.3>=1.2.3 <2.0.0
^0.2.3>=0.2.3 <0.3.0(0.x.x 是特殊的)
^0.0.1=0.0.1(0.0.x 是特殊的)
^1.2>=1.2.0 <2.0.0(像 ^1.2.0)
~1.2>=1.2.0 <1.3.0(像 ~1.2.0)
^1>=1.0.0 <2.0.0
~1相同的
1.x相同的
1.*相同的
1相同的
*任何版本
x相同的

连字符范围

范围描述
1.2.3 - 2.3.4>=1.2.3 <=2.3.4

部分向右

范围描述
1.2.3 - 2.3>=1.2.3 <2.4.0
1.2.3 - 2>=1.2.3 <3.0.0

部分向左

范围描述
1.2 - 2.3.01.2.0 - 2.3.0

当右侧为部分(例如,2.3)时,假定缺失的部分为x(例如,2.3.x)。

如果左边是部分的(例如,1.2),则假定缺少的部分为0(例如,1.2.0)。

有效的语义版本

0.0.4
1.2.3
10.20.30
1.1.2-prerelease+meta
1.1.2+meta
1.1.2+meta-valid
1.0.0-alpha
1.0.0-beta
1.0.0-alpha.beta
1.0.0-alpha.beta.1
1.0.0-alpha.1
1.0.0-alpha0.valid
1.0.0-alpha.0valid
1.0.0-alpha-a.b-c-somethinglong+build.1-aef.1-its-okay
1.0.0-rc.1+build.1
2.0.0-rc.1+build.123
1.2.3-beta
10.2.3-DEV-SNAPSHOT
1.2.3-SNAPSHOT-123
1.0.0
2.0.0
1.1.7
2.0.0+build.1848
2.0.1-alpha.1227
1.0.0-alpha+beta
1.2.3----RC-SNAPSHOT.12.9.1--.12+788
1.2.3----R-S.12.9.1--.12+meta
1.2.3----RC-SNAPSHOT.12.9.1--.12
1.0.0+0.build.1-rc.10000aaa-kk-0.1
99999999999999999999999.999999999999999999.99999999999999999
1.0.0-0A.is.legal

组合范围

范围描述
>=0.14 <16和 (空格分隔)
0.14.x || 15.x.x或 (双竖线分隔)

解释

范围描述
^意思是“兼容”
~意思是“相当接近”
0.x.x用于“初始开发”
1.x.x表示定义了公共 API

预发布

1.2.3-prerelease+build
1.1.2-prerelease+meta