SemVer Cheatsheet - Semantic Versioning Reference

SemVer 语义化版本管理必备速查表,从 MAJOR.MINOR.PATCH 到 npm 版本范围全系列整理,管理依赖版本时直接查。

Reference·33 commands·Last updated 2026-07-21
Back to Reference

版本号结构 5

MAJOR.MINOR.PATCH
主版本.次版本.修订号
1.2.3
示例:主版本 1,次版本 2,修订号 3
MAJOR:不兼容的 API 变更
破坏性更新时递增
MINOR:向下兼容的功能新增
新增功能时递增
PATCH:向下兼容的问题修复
修复 bug 时递增

先行版本号与构建元数据 6

1.0.0-alpha.1
内部测试版(alpha)
1.0.0-beta.2
公开测试版(beta)
1.0.0-rc.1
候选发布版(release candidate)
alpha < beta < rc < 正式版
先行版本号优先级顺序
1.0.0-alpha < 1.0.0-alpha.1
同标识按数字递增比较
1.0.0+20260721
构建元数据(+ 号,不影响优先级)

版本比较运算符 5

=1.2.3
精确匹配指定版本
>1.2.3
大于指定版本(不含)
>=1.2.3
大于等于指定版本
<2.0.0
小于指定版本(不含)
<=1.9.9
小于等于指定版本

npm 版本范围符号 7

^1.2.3
允许 1.x.x,不允许 2.0.0(兼容版本)
~1.2.3
允许 1.2.x,不允许 1.3.0(接近版本)
1.2.3 - 2.3.4
区间范围(>=1.2.3 且 <=2.3.4)
1.x
通配符,等价于 >=1.0.0 <2.0.0
1.2.x
通配符,等价于 >=1.2.0 <1.3.0
*
任意版本(不推荐,易引入破坏性升级)
latest
最新稳定版(dist-tag)

npm 高级范围语法 5

1.2.3 || >=2.0.0
或运算,匹配任一范围
>=1.2.3 <2.0.0
空格表示 AND,需同时满足
~1.2 || ^2.0.0
复合范围组合使用
github:owner/repo
从 Git 仓库安装
file:./local-pkg
从本地路径安装

版本变更与发布规则 5

feat: 新功能
对应 MINOR 递增
fix: 修复 bug
对应 PATCH 递增
BREAKING CHANGE: 破坏性变更
对应 MAJOR 递增
0.x.x
主版本号为 0 表示初始开发,API 不稳定
1.0.0
首个正式版,标志着公共 API 稳定

💡 Tips

  • ^1.2.3 等价于 >=1.2.3 <2.0.0,是 npm install 的默认行为。
  • ~1.2.3 等价于 >=1.2.3 <1.3.0,只允许补丁版本更新。
  • package-lock.json 锁定精确版本,避免 ^ 和 ~ 带来的不确定性。
  • 破坏性变更必须递增主版本号,即使只是小改动。
  • 主版本号为 0(0.x.x)时,任何向下不兼容的变更都应递增次版本号。