~和^的区别:

~会匹配最近的小版本依赖包,比如~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


原文地址:https://stackoverflow.com/questions/22343224/whats-the-difference-between-tilde-and-caret-in-package-json