依赖包版本号前面的 ^ 或者 ~ 或者* 的符号的含义

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

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

*安装最新版本的依赖包,比如 *1.2.3 会匹配 x.x.x,

例:

"dependencies": {    "md5": "^2.1.0"  }
^ 表示如果直接npm install 将会安装  md5  2.*.*的最新版本
​
"dependencies": {    "md5": "~2.1.0"  }
 ~ 表示如果直接npm install 将会安装 md5 2.1.* 的最新版本
​
"dependencies": {    "md5": "*"  }   
* 表示如果直接npm install 将会直接安装 md5的最新版本

1、由于版本号的影响,所以会造成版本不统一的情况

npm是围绕着语义版本控制的思想而设计的 给定一个版本号:主版本号.次版本号.补丁版本号 主版本号: 当API发生改变,并与之前的版本不兼容的时候 次版本号: 当增加了功能,但是向后兼容的时候 补丁版本号: 当做了向后兼容的缺陷修复的时候

package.json某依赖的版本号如下:

"5.0.3", // 安装指定的5.0.3版本 "~5.0.3", // 安装5.0.X中最新的版本 "^5.0.3" // 安装5.X.X中最新的版本

那么该如何选择呢?当然你可以指定特定的版本号,直接写1.2.3,前面什么前缀都没有,这样固然没问题,但是如果依赖包发布新版本修复了一些小bug,那么需要手动修改package.json文件;~ 和 ^ 则可以解决这个问题。

但是需要注意 ^ 版本更新可能比较大,会造成项目代码错误,所以 建议使用 ~ 来标记版本号,这样可以保证项目不会出现大的问题,也能保证包中的小bug可以得到修复。

版本号写 *,这意味着安装最新版本的依赖包,但缺点同上,可能会造成版本不兼容,慎用!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值