package.json中dependencies或devDependencies中依赖的版本号常用的符号

本文介绍了package.json文件中dependencies和devDependencies中依赖版本号的符号,如"^"、"~"和"-"等,解释了它们分别代表的语义化版本规则,包括允许的主版本、次版本和补丁级别的更新。详细阐述了不同符号对版本范围的限制,并提供了版本号兼容性的简单总结。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如下是package.json文件内容

{
  "name": "vite-demo",
  "private": true,
  "version": "0.0.0",
  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "preview": "vite preview"
  },
  "dependencies": {
    "element-plus": "^2.0.2",
    "sass": "^1.49.8",
    "vue": "^3.2.25",
    "vue-router": "4"
  },
  "devDependencies": {
    "@rollup/plugin-alias": "^3.1.9",
    "@types/lodash": "^4.14.178",
    "@vitejs/plugin-vue": "^2.2.0",
    "lodash": "^4.17.21",
    "typescript": "^4.5.5",
    "vite": "^2.8.0",
    "vue-tsc": "^0.31.4"
  }
}

可以看到dependencies或devDependencies里面的依赖都有“^”开头,那是什么意思呢?

首先我们来看一下语义化版本的解答

 版本格式:【主版本号.次版本号.修订号】

<、>、>=、<=、=范围符号:

  • <少于
  • <=小于或等于
  • >比...更棒
  • >=大于或等于
  • =平等的。(可省略不写)

~波浪号范围:

允许补丁级别的更改。如果没有,则允许进行次要级别的更改。

  • ~1.2.3 :   >= 1.2.3 1.3.0
  • ~1.2:   >= 1.2.0 < 1.3.0(与 相同1.2.x
  • ~1:   >= 1.0.0 2.0.0(与 相同1.x
  • ~0.2.3 :   >= 0.2.3 0.3.0
  • ~0.2:   >= 0.2.0 0.3.0(与 相同0.2.x
  • ~0:  >= 0.0.0 < 1.0.0(与 相同0.x

插入符号范围:

允许不修改元组中最左边的非零数字 [major, minor, patch]。允许版本1.0.0及更高版本的补丁和次要更新,版本的补丁更新0.X >=0.1.0,以及版本的更新0.0.X

  • ^1.2.3:  >= 1.2.3 2.0.0
  • ^0.2.3:  >= 0.2.3 < 0.3.0
  • ^0.0.3:  >= 0.0.3 < 0.0.4
  • ^1.2.3-beta.2:  >= 1.2.3-beta.2 < 2.0.0 ,请注意1.2.3,如果版本中的预发布版本大于或等于beta.2. 所以,1.2.3-beta.4会被允许,但 1.2.4-beta.2不会。
  • ^0.0.3-beta:  >= 0.0.3-beta < 0.0.4
  • ^1.2.x:  >= 1.2.0 < 2.0.0
  • ^0.0.x:  >= 0.0.0 < 0.1.0
  • ^0.0:   >= 0.0.0 < 0.1.0
  • ^1.x:   >= 1.0.0 2.0.0
  • ^0.x:  >= 0.0.0 1.0.0

- 连字符范围(X.Y.Z - A.B.C)

  • 1.2.3 - 2.3.4:   >= 1.2.3 <= 2.3.4
  • 1.2 - 2.3.4:   >= 1.2.0 <= 2.3.4
  • 1.2.3 - 2.3:  >= 1.2.3 < 2.4.0
  • 1.2.3 - 2:  >= 1.2.3 < 3.0.0

“x”、“*”、空字符 " "  范围:

  • *:   >= 0.0.0 (任何版本都可以)
  • 1.x:   >= 1.0.0 < 2.0.0 (匹配主要版本)
  • 1.2.x:  >= 1.2.0 < 1.3.0(匹配主要和次要版本)
  • ""(空字符串) :  >= 0.0.0 (等同于*,任何版本都可以)
  • 1 :  >= 1.0.0 < 2.0.0
  • 1.2 :  >= 1.2.0 < 1.3.0

简洁版如下

  • version必须完全匹配
  • >version必须大于version
  • >=version等等
  • <version
  • <=version
  • ~version“大约相当于版本”
  • ^version“与版本兼容”
  • 1.2.x 指1.2.0、1.2.1 等,但不是 1.3.0
  • *匹配任何版本
  • ""(只是一个空字符串)与*
  • version1 - version2与 相同>=version1 <=version2
  • range1 || range2如果满足 range1 或 range2 则通过。

详情可查阅具体文献 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值