2025年07月29日 Tags: Js
Major.Minor.Patch(主版本号.次版本号.修订号)
1.主版本号递增时,次版本号和修订号必须归零。次版本号递增时,修订号必须归零。
2.次版本号在任何公共 API 的功能被标记为弃用时也须递增。也可以在内部程序有大量新功能或改进被加入时递增,其中可以包括修订级别的改变。
❓“向下兼容”和“不向下兼容”指的是什么?
新版本的 API 在功能上不会破坏旧版本的行为,旧代码在新版本中仍然可以正常运行。
例如:
新版本的 API 会破坏旧版本的行文,可能导致旧代码无法正常运行。
例如:
表示某个版本时尚未正式发布的预发布版本。通常用于测试、内部使用或早期体验。
格式:Major.Minor.Patch-Pre.Release
先行版本号可以被标注在修订号之后,格式为先加上一个连接号-
再加上一连串以句点 .
分隔的标识符来修饰。标识符必须由 ASCII 字母数字和连接号 [0-9A-Za-z-]
组成,且禁止留白。
示例:
1.0.0-alpha
表示主版本的第一个测试版本,处于 alpha 阶段。1.0.0-rc.1
表示第一个发布的候选版本。1.0.0-nightly.20240120
表示夜间构建版本,时间为2024年1月20日。先行版本标识符:
标识符 | 说明 |
---|---|
alpha |
早期测试版本,功能尚未完整 |
beta |
功能基本完成,仍在测试阶段 |
rc |
候选发布版本 |
dev |
开发版本(仅供开发测试) |
nightly |
夜间构建版本 |
preview |
预览版本 |
experimental |
实验性版本 |
附加在版本号之后,用于描述构建过程相关信息的元数据。
格式:Major.Minor.Patch[-Pre.Release]+Build.Info
先加上一个加号 +
再加上一连串以句点 .
分隔的标识符来修饰。标识符必须由 ASCII 字母数字和连接号 [0-9A-Za-z-]
组成,且禁止留白。
示例:
1.0.0+20240120
表示版本构建时间为2024-01-201.0.0-beta+git.abc123
表示来自 Git
的提交,hash前几位为abc1231.0.0+linux-x64
表示构建平台为 Linux x641.0.0-alpha+docker.build-123
表示来自 Docker
的构建任务 1232.1.0+ci.build-456.git.def567
表示来自 CI
构建任务 456,Git
提交为 def567常见的版本编译信息内容:
指示符 | 说明 | 用途 |
---|---|---|
^ |
允许次版本号和修订号升级,但不改变主版本号 | 建议开发环境使用 |
~ |
允许修订号升级,但不改变次版本号和主版本号 | 建议生产环境使用 |
> |
大于指定版本 | |
< |
小于指定版本 | |
= |
精确匹配,可省略,锁版本号 | 建议生产环境使用 |
* |
接受任何版本 | |
x |
通配符 | 示例:1.x 1.2.x x.x.x (同 * ) |
npm outdated
检查是否有可用更新
npm audit
检查依赖的安全漏洞