~
会匹配最近的小版本依赖包,比如~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可以得到修复。
版本号写 *
,这意味着安装最新版本的依赖包,但缺点同上,可能会造成版本不兼容,慎用!
内容出自文章
https://www.jianshu.com/p/4544a1e63a5c
推荐阅读文章
对 ^
的其他说明
https://zhuanlan.zhihu.com/p/66039729
https://www.cnblogs.com/skylor/p/9675646.html
1 条评论
想想你的文章写的特别好https://www.ea55.com/