Skip to content

package 版本号详细说明

版本号全部示例

json
{
  "dependencies": {
    "foo": "1.0.0 - 2.9999.9999",
    "bar": ">=1.0.2 <2.1.2",
    "baz": ">1.0.2 <=2.3.4",
    "boo": "2.0.1",
    "qux": "<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0",
    "asd": "http://asdf.com/asdf.tar.gz",
    "til": "~1.2",
    "elf": "~1.2.3",
    "two": "2.x",
    "thr": "3.3.x",
    "lat": "latest",
    "dyl": "file:../dyl"
  }
}

1. 固定版本号

版本锁定, 在npm install安装依赖时候,会确切的安装指定版本

例如

json
{
  "dependencies": {
    "foo": "1.00"
  }
}

2. 版本范围

版本范围由运算符+固定版本号组成,运算符如下:

  • < :小于
  • <=:小于等于
  • > :大于
  • >=:大于等于
  • =:等于. 该符号在实际中可以被忽略掉

形如:

  • >=1.2.7 <1.3.0:表示版本范围在大于等于 1.2.7,小于 1.3.0 都可以
  • 1.2.7 || >=1.2.9 <2.0.0:可以是 1.2.7,1.2.9 等,但不能是1.2.82.0.0

3. 预发布标签alpha

如:>1.2.3-alpha.3中带了预发布标识alpha,那么带预发布标识的版本号需要 [major, minor, patch]一样,即1.2.3-alpha.4,但是1.2.4-alpha.4不满 足条件。 没有带预发布标识的版本只要满足大于 1.2.3-alpha.3 就可以了,比如:1.2.5

4. 预发布标识beta

html
1.2.4-beta.0

5. 连字符范围-

例如: 版本号 X.Y.Z - A.B.C

  • 1、1.2.3 - 2.3.4 等价于 >=1.2.3 <=2.3.4

  • 2、如果在第一个范围内少了的部分,则用0替换: 1.2 - 2.3.4 等价于 >=1.2.0 <=2.3.4

  • 3、如果在第二个范围内少了的部分,则范围都要从这个版本开始: 1.2.3 - 2.3 等价于 >=1.2.3 <2.4.0-01.2.3 - 2 等价于 >=1.2.3 <3.0.0-0

    6. 波浪号范围~

    例如: ~1.2.3 或者 ~1.2 或者 ~1

  • 1、~1.2.3 等价于 >=1.2.3 <1.(2+1).0 即:>=1.2.3 <1.3.0-0

  • 2、~1.2 等价于 >=1.2.0 <1.(2+1).0 即:>=1.2.0 <1.3.0-0 (Same as 1.2.x)

  • 3、~1 等价于 >=1.0.0 <(1+1).0.0 即: >=1.0.0 <2.0.0-0 (Same as 1.x)

  • 4、~0.2.3 := >=0.2.3 <0.(2+1).0 := >=0.2.3 <0.3.0-0

  • 5、~0.2 := >=0.2.0 <0.(2+1).0 := >=0.2.0 <0.3.0-0 (Same as 0.2.x)

  • 6、~0 := >=0.0.0 <(0+1).0.0 := >=0.0.0 <1.0.0-0 (Same as 0.x)

  • 7、~1.2.3-beta.2 := >=1.2.3-beta.2 <1.3.0-0 请注意,如果 1.2.3 版本大于或等于 beta.2,则允许预发布。因此,1.2.3-beta.4 是允许的,但 1.2.4-beta.2 则不允许,因为它是不同 [major、minor、patch] 元组的预发行版

7. 插入符号范围^

例如:^1.2.3 或者 ^0.2.5 或者 ^0.0.4

  • 1、^1.2.3 := >=1.2.3 <2.0.0-0
  • 2、^0.2.3 := >=0.2.3 <0.3.0-0
  • 3、^0.0.3 := >=0.0.3 <0.0.4-0
  • 4、^1.2.3-beta.2 := >=1.2.3-beta.2 <2.0.0-0 请注意,如果 1.2.3 版本大于或等于 beta.2,则允许预发布。因此,1.2.3-beta.4 是允许的,但 1.2.4-beta.2 则不允许,因为它是不同 [major、minor、patch] 元组的预发行版
  • 5、^0.0.3-beta := >=0.0.3-beta <0.0.4-0 请注意,如果大于或等于 beta,则仅允许 0.0.3 版本中的预发布。因此,0.0.3-pr.2 是允许的。