
语义化版本号规范(SemVer)通过 主版本号.次版本号.修订号(MAJOR.MINOR.PATCH)的格式明确版本迭代的含义:
示例:v2.3.1 表示主版本为2,新增3次功能,修复1次问题。
版本号递增规则
0.1.0)允许快速迭代,MAJOR为0时表示API不稳定。1.0.0 开始)需严格遵循SemVer规则: PATCH(1.0.0 → 1.0.1)。MINOR(1.0.1 → 1.1.0)。MAJOR(1.1.0 → 2.0.0)。预发布版本标记
2.0.0-alpha.1 或 2.0.0-beta。案例:Node.js 的版本迭代
v14.0.0 → v14.1.0:新增非破坏性功能。v14.1.0 → v14.1.1:修复安全漏洞。v14.1.1 → v15.0.0:引入破坏性变更(如废弃API)。Python 版本号解析与比较
from packaging import version
# 版本号解析
v1 = version.parse("2.3.1")
v2 = version.parse("2.4.0-alpha")
# 比较版本
print(v1 < v2) # True,因为 2.3.1 < 2.4.0
print(v2.is_prerelease) # True,因为是预发布版本JavaScript 实现版本号校验
const semver = require('semver');
// 校验有效性
console.log(semver.valid('1.2.3')); // '1.2.3'
console.log(semver.valid('1.x.y')); // null
// 比较版本
console.log(semver.gt('2.3.1', '2.4.0')); // false
console.log(semver.satisfies('1.2.3', '^1.0.0')); // true(兼容主版本1)Git 标签管理
# 打版本标签
git tag -a v1.2.3 -m "Release version 1.2.3"
git push origin v1.2.3semver 库用于Node.js项目版本管理。