首页/开发/CI/CD 与发布速查/预发布版本号(alpha / beta / rc)
构建与制品管理58 条

预发布版本号(alpha / beta / rc)

用预发布后缀标记未定稿版本,按字典序比较且低于同段正式版:alpha < beta < rc < 正式版。

CI/CD 与发布速查开发更新于 2026-10-13

预发布版本号是什么

用后缀标记未定稿版本,按语义化版本规则比较且低于同段正式版:alpha 先于 beta、beta 先于 rc、rc 先于正式版。典型序列 1.9.0-alpha.1 → 1.9.0-beta.1 → 1.9.0-rc.1 → 1.9.0。比较规则:预发布标识按点分段比较,数字段按数值比较。多数包管理器默认不选中预发布版本,需要显式指定或用 dist-tag 通道分发。

基本信息

常见序列1.9.0-alpha.1 → 1.9.0-beta.1 → 1.9.0-rc.1 → 1.9.0
比较规则预发布标识按点分段比较,数字段按数值比较
依赖管理多数包管理器默认不选中预发布版本,需显式指定
分发通道dist-tag(next、rc)指向预发布,latest 留给正式版

后缀语义

后缀含义发布对象
alpha早期验证,接口可能变内部与实验用户
beta功能冻结,修复问题中尝鲜用户与集成方
rc候选发布,仅修复阻断问题灰度与预发验证
无后缀正式版全量用户

典型使用场景

  • 依赖预验证:下游提前安装 rc 验证兼容性
  • 灰度通道:next 标签让早期用户先用,正式版另发
  • 客户端内测:桌面与移动端按通道分发预发布包
  • 发前验证:预发环境部署 rc 制品做发布前演练
  • 冻结纪律:功能冻结后 rc 只接受阻断类修复
  • 多版本矩阵:对声明支持的依赖版本组合跑预发布兼容测试,防止只在最新版通过

npm 安装与分发

npm 安装与分发
# 安装指定预发布版本
npm install pkg@1.9.0-rc.1
# 用 dist-tag 标记通道
npm dist-tag add pkg@1.9.0-rc.1 next
# 正式版发布后把 latest 指回正式版
npm dist-tag add pkg@1.9.0 latest
预发布版本用于验证通道(next、rc),正式发布前不要升级依赖方的默认解析结果。
预发布也走完整流水线:版本号在制品里固化,验证对象与最终发布对象保持一致。
比较细节:预发布标识里数字段按数值比较,且数字段低于字母段(alpha.2 低于 alpha.beta);构建元数据 +build 不参与优先级比较,不能拿它排序。

易错点

  • 预发布与正式版本号只差一个后缀却用同一制品:验证的对象与发布的对象必须一致
  • 依赖范围写成包含了预发布:依赖解析可能拉到 rc 版本,显式约束范围
  • rc 期间夹带功能变更:rc 的定义是仅修复阻断问题,功能改动破坏验证前提
  • 通道标签不回收:next 长期指向旧 rc,正式发布后清理通道指回正式版
  • 把 +build 当排序依据:构建元数据不参与语义化比较,两个同版本无法分出先后,渠道序号要另设字段

数据来源与参考

  • Semantic Versioning 2.0.0(semver.org)
  • npm Docs《Dist-tags》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌