语义化版本号和package版本号规则

2,298 阅读2分钟

语义化版本号

  1. 主版本号,向下不兼容api更改
  2. 次版本号,向下兼容功能新增
  3. 修订版本号,向下兼容问题修正
  4. 先行版本号,当要发行大版本或核心功能时,但不能保证这个版本完全正常,就要先发一个先行版本。常见的先行版本号有:
    1. alpha - 不稳定版本
    2. beta - 基本稳定
    3. rc - 和正式版基本相同
版本发行,应该先发先行版本,再发正式版本。

Dependency版本号规则

1. 指定版本号

  • 1.0.2 只能使用1.0.2版本

2. ^版本号

主版本号相同,且不小于指定版本号之间的版本

  • ^1.0.2 可使用大于等于1.0.2小于2.0.0的版本
  • ^1.0.2-beta.1 可使用大于等于1.0.2-beta.2小于2.0.0的版本,也可使用1.0.2-beta.2等先行版本,但不可使用主 次 修订版本号不同的其他先行版本,如不可用1.0.3-beta.1
  • ^0.0.1 主版本号为0,可使用大于等于0.0.1小于0.0.2的版本

3. ~版本号

主版本号和次版本号都相同,且不小于指定版本号的所有版本

  • ~1.0.2 可使用大于等于1.0.2小于1.1.0的版本

4. > < = >= <= 版本号

指定版本号范围

  • >=3.0.0,可使用 3.0.0 以上版本

5. - 版本号

  • 两边必须有空格
  • 1.0.1 - 2.1.2 可使用大于等于1.0.1小于等于2.1.2的版本

6. 空格版本号 || 版本号

空格表示AND, || 表示OR

  • 1.2.7 || >=1.2.9 <2.0.0 可使用1.2.7或者大于等于1.2.9小于2.0.0的版本

6. * 版本号

所有版本

7. x X版本号

  • 1.x 可使用主版本号为1的版本
  • 1.1.x 可使用主版本号为1,次版本号为1的版本

latest等标记版本

发布的通用标记版本,常用标记有stable, beta, dev, canary