package.json项目或者模块包的描述~和^的区别

插入符号和波浪号:有什么区别?

插入符号和波浪号都允许指定最低版本,并允许在实际安装哪个版本方面具有一定的灵活性。不同的主要版本不会满足这两个范围- semver 中的信号,表明版本之间存在重大变化。

插入符号和波浪号捕获的版本之间有两个主要区别: 围绕次要版本更改的灵活性和以下版本1.0.0(即“幻零”版本)的行为。

波浪号:灵活的补丁

对于波浪号范围,主要和次要版本必须与指定的版本匹配,但任何大于或等于指定版本的补丁版本都是有效的。

例如,~1.2.3允许版本1.2.3最多但不包括下一个次要版本1.3.0.

我们可以用 npm使用的semver 实现来证明这一点:

var semver = require('semver')

semver.toComparators('~1.2.3')
// [ [ '>=1.2.3-0', '<1.3.0-0' ] ]

插入符号:灵活的小调和补丁

对于插入符范围,只有主要版本必须匹配。任何大于或等于最小值的次要或补丁版本都是有效的。

例如,一系列的~1.2.3将只允许版本高达,但不包括1.3.0. 但是,插入符号版本^1.2.3允许从1.2.3所有版本一直到(但不包括)下一个主要版本2.0.0.

semver.toComparators('^1.2.3')
// [ [ '>=1.2.3-0', '<2.0.0-0' ] ]

// compare upper limit for ~
semver.toComparators('~1.2.3')
// [ [ '>=1.2.3-0', '<1.3.0-0' ] ]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值