版本编号规范

介绍

工作中我们一般使用 version 表示版本编号,用于确定项目在每个阶段的唯一性。在项目每次封版发布前,需要更新一次版本。

常见版本编号特点

  1. 版本的形式严格遵循 a.b.c

  2. 版本的迭代严格遵循 右位递增

  3. 发布重要版本前,可发布 alphabetarc 等先行版本

  4. 先行版本的编号后方可以带上次数或元信息

行业标准

Github 起草了一份具备知道意义且统一版本编号的表示规则,简称 Semver, 目前由 Npm 团队维护。

版本号简称别名功能描述

主版本

major

Breaking Change

新增功能

不向下兼容API

次版本

minor

New Feature

新增功能

向下兼容的功能改动

修订版本

patch

Bug Fix

修复缺陷

向下兼容的缺陷改动

先行版本

标记简称功能描述

内测版本

alpha

主要以实现软件功能为主

只在开发者内部交流,问题较多需继续优化

公测版本

beta

主要以修复问题缺陷为主,还会加入新功能

可在社区外部交流,问题不多但需继续优化

候选版本

gamarc

主要以消除最终错误为主,不会加入新功能

与正式版无异

版本准则

版本编号必须严格遵循 a.b.c 且三者都为非负整数,禁止在数字前方补零,版本发布需严格递增。

// 示例
const version1 = '16.1.0'
const version1 = '16.1.1'
const version2 = '16.2.0-alpha'
const version3 = '16.2.0-alpha.1'

版本规则

在使用npm i 安装包时,会将包名和版本编号写入到package.json 文件中

::: info ^ 表示同一主版本中不小于指定版本的版本。^2.2.1 对应主版本为2,不小于2.2.1的版本满足条件,例如2.2.1、2.2.2、2.3.0等,主版本固定 :::

::: tip ~ 表示同一主版本与次版本中不小于指定版本的版本。~2.2.1 对应主版本为2,次版本为2,不小于2.2.1的版本,例如2.2.1、2.2.2等,主版本与次版本固定 :::

# >、<、=、<=、>=、- 表示一个版本范围。- 必须使用前后空格间隔
# || 表示满足多个条件的版本。|| 必须使用前后空格间隔
# x 与 * 表示通配版本

::: code-group

dependencies: {
  "react": "^18.0.0",
  "vue": "~3.0.0",
  "node": "16.0.0 - 16.14.0",
  "npm": ">=7.10.0",
  "package-name1": ">=16.0.0 || <=16.14.0",
  "package-name2": "16.x",
  "package-name3": "*",
}

:::

参考

Last updated