NPM依赖包的版本号中有~和^两种,那么~和^有什么区别呢?具体如下:

~会匹配最近的小版本依赖包,比如~1.2.3会匹配所有1.2.x版本,但是不包括1.3.0

^会匹配最新的大版本依赖包,比如^1.2.3会匹配所有1.x.x的包,包括1.3.0,但是不包括2.0.0

例子:

~1.2.3 := >=1.2.3-0 <1.3.0-0

^1.2.3 := >=1.2.3-0 <2.0.0-0