这个 semver 语义化版本快速参考备忘清单。
语义化版本标准
介绍
Semver 是一种语义版本控制规范。
Semver
- |
- |
主版本号(MAJOR) |
当你做了不兼容的 API 修改 |
次版本号(MINOR) |
当你做了向下兼容的功能性新增 |
修订号(PATCH) |
当你做了向下兼容的问题修正 |
简单范围
1 2 3 4 5
| 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.0 |
是 1.2.0 - 2.3.0 |
当右侧为部分(例如,2.3
)时,假定缺失的部分为x
(例如,2.3.x
)。
如果左边是部分的(例如,1.2
),则假定缺少的部分为0
(例如,1.2.0
)。
有效的语义版本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| 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
| 1.2.3-prerelease+build 1.1.2-prerelease+meta
|
另见