Cheat Sheet速查表
跳转到主要内容

Semver 速查表

本文根据 Devhints / Semver 翻译。代码示例及版本范围沿用原文。原文标注更新日期:2019-12-31。

Semver

给定版本号 MAJOR.MINOR.PATCH:

MAJOR不兼容的 API 变更
MINOR新增功能(向后兼容)
PATCH错误修复(向后兼容)

简单范围

  1.2.3
 =1.2.3
 >1.2.3
 <1.2.3
>=1.2.3

注意:带有后缀的版本(1.2.3-rc1)不参与匹配。

范围

范围说明说明
~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).

组合范围

范围说明
>=0.14 <16“与”关系(以空格分隔)
0.14.x || 15.x.x“或”关系(以竖线分隔)

预发布版本

1.2.3-prerelease+build

说明

^表示“兼容”
~表示“非常接近”
0.x.x用于“初始开发阶段”
1.x.x表示已定义公开的 API

参考资料