Skip to content

Semver 语义化版本

分类

  • 固定版本:是指例如 0.4.1、1.2.7、1.2.4-beta.0 这样表示包的特定版本的字符串。
  • 范围版本:是对满足特定规则的版本的一种表示,例如 1.2.3-2.3.4、1.x、^0.2、>1.4.

版本号格式

主版本号[MAJOR].次版本号[MINOR].修订号[PATCH],版本号递增规则如下:

主版本号:当做了不兼容的 API 修改, 次版本号:当做了向下兼容的功能性新增, 修订号:当做了向下兼容的问题修正。

先行版本号(Pre-release Version)

先行版本号可以作为发布正式版之前的版本,格式是在修订版本号后面加上一个连接号(-),再加上一连串以点(.)分割的标识符,标识符可以由英文、数字和连接号([0-9A-Za-z-])组成。example:

1.0​​.0-alpha
1.0.0-alpha.1
1.0.0-0.3.7
1.0.0-x.7.z.92

以下是一些常见的先行版本号名称:

  • alpha:是内部测试版,一般不向外部发布,会有很多 Bug.一般只有测试人员使用。
  • beta:也是测试版,这个阶段的版本会一直加入新的功能。在 Alpha 版之后推出
  • rc:Release   Candidate) 系统平台上就是发行候选版本。RC 版不会再加入新的功能了,主要着重于除错。

定义依赖版本号 在 npm 的依赖的规则中,还有 ~、>、<、=、>=、<=、-、||、x、X、* 等符号;当使用 npm install XX 时,被安装的依赖的版本号前会默认加上 ^ 符号。

  • ^ :表示同一主版本号中,不小于指定版本号的版本号 ^2.2.1 对应主版本号为 2,不小于 2.2.1 的版本号,比如 2.2.12.2.22.3.0 ,主版本号固定 // 当该依赖有最新版本时(eg:2.3.3),npm install 会安装最新的依赖

  • ~ :表示同一主版本号和次版本号中,不小于指定版本号的版本号 ~2.2.1 对应主版本号为 2,次版本号为 2,不小于 2.2.1 的版本号,比如 2.2.1、2.2.2,主版本号和次版本号固定

  • 、<、=、>=、<=、-:用来指定一个版本号范围

`>2.1`
`1.0.0 - 1.2.0`
//注意使用 `-` 的时候,必须两边都有空格。
  • ||:表示或
`^2 <2.2 || > 2.3`
  • x、X、_:表示通配符
`_`对应所有版本号

3.x 对应所有主版本号为 3 的版本号