语义化版本(SemanticVersion)

发布于: 6/16/2022 阅读大约需要1分钟

说明

版本号规范: X.Y.Z-P
X: 主版本号 major, 非兼容性的修改
Y: 次版本号 minor, 兼容的新功能之类的修改
Z: 修订号 patch, bug修复之类的修改
P: 先行版本号, 可选

命名规则

  • 主版本为0表示软件处于开发初始阶段
  • 1.0.0版本用来界定公共API的形成(即正式版界限)
  • 主版本号提升的时候需要将其他版本号归零
  • 版本号后面可以接一串先行版本号(P)
    • alpha: 内部测试版, 如 1.0.0-alpha.1
    • beta: 公开测试版, 如 1.0.0-beta.1
    • rc: 候选版本, 如 1.0.0-rc.1
    • stable: 稳定版, 如:1.0.0

package.json版本说明

常见的 package.json 中的版本修饰符有 ~ , ^ , 其各自的意义为

  • ~ : 修订版本约束
  • ^ : 次版本约束

若无修饰符则指定精确版本进行安装

例子

  • “~1.2.3”: 表示版本范围为 [1.2.3, 1.3.0), 允许依赖问题版本修复, 不升级至新功能版本
  • “^1.2.3”: 表示版本范围为 [1.2.3, 2.0.0), 允许兼容版本但不升级至大版本

参考资料

https://semver.org/lang/zh-CN/