版本号x.y.z:
z: 修复一些BUG或扩充一些功能(修订版本号);
y:一些较大的更改,局部(功能,兼容等)改变,如API的变化(次版本号);
x:设计的变动或模块的重构,整体构架更改,会升级x(主版本号)
1、^ (面试可能会问到)
^匹配最近的大版本,如"^2.0.1"=>[2.0.1,2.x.x]只包括2开头的版本
2、~
~匹配最近的小版本,如"^2.0.1"=>[2.0.1,2.0.x]只包括2.0开头的版本
版本号 | 表示范围 |
~1 | >=1.0.0<2.0.0(~1相当于所有1.x.x) |
~1.2 | >=1.2.0<1.3.0(~1.2相当于所有1.2.x) |
3、x.y.z
指定版本,如"2.0.1":就只能是2.0.1,不能是别的版本(准确匹配)
4、带有X的版本范围:
版本号 | 表示范围 |
* | >=0.0.0全部版本 |
"" | >=0.0.0全部版本 |
1.x | >=1.0.0<2.0.0 |
1.2.x | >=1.2.0<1.3.0
|
1 | >=1.0.0<2.0.0 |
1.2 | >=1.2.0<1.3.0 |
>,<,>=,<=按字面意思理解即可,如>=1.0.2即版本号为1.0.2以上(如1.0.3),不包括1.0.2以下的(如1.0.)
5、连字符范围:
版本号 | 表示范围 |
1.2.3-2.3.4 | >=1.2.3<=2.3.4 |
1.2-2.3.4 | >=1.2.0<=2.3.4 |
1.2.3-2 | >=1.2.3<3.0.0 |
6、"字母":
"latest" 安装最新版本