package.json版本号符号^和~前缀的区别

301 阅读1分钟

package.json版本号符号^和~前缀的区别

package.json版本号

版本号 x.y.z :

  • z :表示一些小的bugfix, 更改z的号,
  • y :表示一些大的版本更改,比如一些API的变化
  • x :表示一些设计的变动及模块的重构之类的,会升级x版本号

^和~前缀的区别

开发中经常会使用npm install 安装依赖包,经常会看到^符号和~符号,现将二者的区别总结如下:

package.json里面dependencies依赖包的版本号前面的符号有两种,一种是~,一种是^。

  • ~的意思是匹配最近的小版本 比如~1.0.2将会匹配所有的1.0.x版本,但不匹配1.1.0  
  • ^的意思是最近的一个大版本 比如^1.0.2 将会匹配 所有 1.x.x, 但不包括2.x.x

image.png

推荐使用~,只会修复版本的bug,比较稳定
使用^ ,有的小版本更新后会引入新的问题导致项目不稳定,