npm 依赖包版本号~和^的区别
2018-08-28 本文已影响1749人
BigDipper
-
~
会匹配最近的小版本依赖包,比如~1.2.3会匹配所有1.2.x版本,但是不包括1.3.0 -
^
会匹配最新的大版本依赖包,比如^1.2.3会匹配所有1.x.x的包,包括1.3.0,但是不包括2.0.0
那么该如何选择呢?当然你可以指定特定的版本号,直接写1.2.3,前面什么前缀都没有,这样固然没问题,但是如果依赖包发布新版本修复了一些小bug,那么需要手动修改package.json
文件;~
和^
则可以解决这个问题。
但是需要注意^
版本更新可能比较大,会造成项目代码错误,所以建议使用~
来标记版本号,这样可以保证项目不会出现大的问题,也能保证包中的小bug可以得到修复。
版本号写*
,这意味着安装最新版本的依赖包,但缺点同上,可能会造成版本不兼容,慎用!