语义化版本Semantic Versioning
你可能会说
AI 建议我把依赖从主版本 1 升到 2,我该直接升级吗?
用主版本、次版本和修订号表达公开 API 兼容承诺的版本规则SemVer 用 X.Y.Z 表达对公开 API 兼容性的承诺:稳定版本中,修订号表示兼容修复,次版本表示兼容新增,主版本表示不兼容变化。版本号是项目作者对 API 的约定,不是应用升级风险分数;0.y.z 版本尚未承诺稳定 API。
先知道
也常被叫作语义化版本号SemVer
延伸阅读 · 权威出处
AI 建议我把依赖从主版本 1 升到 2,我该直接升级吗?
{
"dependencies": {
"sample-lib": "1.2.3"
}
}示例版本号只说明 SemVer 承诺;范围符号由包管理器规则另行解释。稳定 API 下,修订号承诺兼容修复;仍需查看发布说明并按项目流程验收。
这些是遵守 SemVer 的稳定公开 API 承诺;实际升级还要查具体项目的发布说明与验收结果。
修订号:通常是修复:在遵守 SemVer 的稳定版本中,修订号表示兼容修复;仍要查看发布说明并按项目流程验收。
次版本:通常是新增功能:在遵守 SemVer 的稳定版本中,次版本表示兼容新增;升级前看新增内容是否影响到你。
主版本:可能不兼容:在遵守 SemVer 的稳定版本中,主版本表示不兼容变化;升级前读发布说明,改完后按项目流程验收。
示例库 sample-lib 当前是 ^1.2.3,请先读 2.0.0 的发布说明,列出会影响本项目的改动,再决定要不要升级。如果决定升级,改完后逐个页面确认没有报错,不要顺手升其他依赖。