版本格式
版本格式:主版本号.次版本号.修订号(major.minor.patch),版本号递增规则如下:
主版本号:当你做了不兼容的 API 修改,
次版本号:当你做了向下兼容的功能性新增,
修订号:当你做了向下兼容的问题修正。
先行版本号及版本编译元数据可以加到 「主版本号.次版本号.修订号」 的后面,作为延伸。
版本规则
必须匹配某个版本
1.0.0 必须匹配 1.0.0 版本。
必须大于某个版本
> 1.0.0 必须大于 1.0.0 版本;
> 1.0 必须大于 1.0.0 版本,可以是 1.0.1 及更高版本。
大于或等于某个版本
>= 1.0.0 必须大于或等于 1.0.0 版本,可以是 1.0.0 及更高版本。
小于某个版本
< 2.0.0 必须小于 2.0.0 版本 ,可以是 1.9.9。
小于或等于某个版本
<= 2.0.0 必须小于或等于 2.0.0 版本 ,可以是 2.0.0 及更低版本。
大概匹配版本
如果 minor 版本号指定了,那么 minor 版本号不变,而 patch 版本号任意;
如果 minor 和 patch 版本号未指定,那么 minor 和 patch 版本号任意。
~ 1.1.2,表示 >= 1.1.2 < 1.2.0,可以是 1.1.2,1.1.3,1.1.4,.....,1.1.n;
~ 1.1,表示 >= 1.1.0 < 1.2.0,可以是同上;
~ 1,表示 >= 1.0.0 < 2.0.0,可以是 1.0.0,1.0.1,1.0.2,.....,1.0.n,1.1.n,1.2.n,.....,1.n.n。
兼容某个版本
版本号中最左边的非0数字的右侧可以任意;如果缺少某个版本号,则这个版本号的位置可以任意。
^ 1.1.2 ,表示 >= 1.1.2 < 2.0.0,可以是 1.1.2,1.1.3,.....,1.1.n,1.2.n,.....,1.n.n;
^ 0.2.3 ,表示 >= 0.2.3 < 0.3.0,可以是 0.2.3,0.2.4,.....,0.2.n;
^ 0.0,表示 >= 0.0.0 < 0.1.0,可以是 0.0.0,0.0.1,.....,0.0.n
x 标识符
x的位置表示任意版本。
1.2.x,表示可以 1.2.0,1.2.1,.....,1.2.n。
* 任意版本
- 表示>=0.0.0的任意版本。
版本范围
1.1.2 - 1.3.1,表示包括1.1.2和1.3.1以及他们件的任意版本。
或
<1.0.0 || >= 2.3.1 < 2.4.5 || >= 2.5.2 < 3.0.0,表示满足这3个范围的版本都可以。