package.json 中波浪号~ 异或号^ 是什么意思?
# 版本号段落解读
版本格式:主版本号.次版本号.修订号,版本号递增规则如下:
主版本号:当你做了不兼容的 API 修改,
次版本号:当你做了向下兼容的功能性新增,
修订号:当你做了向下兼容的问题修正。
先行版本号及版本编译信息可以加到“主版本号.次版本号.修订号”的后面,作为延伸。
1
2
3
4
5
6
2
3
4
5
6
我们常见的版本号,如 v1.2.3,其本身并不是语义化版本号,但是通过 'v' 前缀标识版本号是我们常用的方式。 1.2.3 才是严格意义上的语义化版本号。 其中 1 为主版本号(major),2 为次版本号(minor),3 为修订号(patch)。
# ~ 波浪号 的含义
允许从右其第一位浮动
下面是给出的几个例子,方便大家理解:
~1.2.3
:=>=1.2.3 <1.3.0
(Same as 1.2.x)~1.2
:=>=1.2.0 <1.3.0
(Same as 1.2.x)~1
:=>=1.0.0 <2.0.0
(Same as 1.x.x)~0.2.3
:=>=0.2.3 <0.3.0
(Same as 0.2.x)~0.2
:=>=0.2.0 <0.3.0
(Same as 0.2.x)~0
:=>=0.0.0 <1.0.0
(Same as 0.x.x)
# ^ 异或号 的含义
锁定从左起,第一位不为 0 的版本号
下面是给出的几个例子,方便大家理解:
^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
这个定义可能有违大家的基础认识。比如我们都知道 ^1.2.3
允许下载 >= 1.2.3 < 1.3.0
的版本。但是对于 ^0.1.2
相信很多朋友会误以为其范围是 >= 0.1.2 < 1.0.0
实际上为 >= 0.1.2 < 0.2.0
。
# 相关链接
编辑 (opens new window)
上次更新: 2024/08/03, 17:02:07