语义化版本号与npm

158 阅读1分钟

版本格式

版本格式:major.minor.patch-pre

  • 主版本号(major):当你做了不兼容的 API 修改,如功能模块破坏性更新
  • 次版本号(minor):当你做了向下兼容的功能性新增,
  • 修订号(patch):当你做了向下兼容的问题修正,如bug修复

预发布版本(pre)

当要发布大版本或者次版本时,但是又不能保证这个版本的功能 100% 正常,这个时候可发布预发布版本,

可以使用以下版本修饰版本含义

  • alpha: 内测版本
  • beta: 公测版本
  • rc: Release candiate,正式版发布前的候选版本

npm 版本号预算符

  • ~

    匹配最新的补丁版本依赖包,比如 ~1.2.3 会匹配所有 1.2.x 版本,但是不包括 1.3.0

  • ^

    匹配最新的小版本依赖包,比如 ^1.2.3 会匹配所有 1.x.x 的包,包括 1.3.0,但是不包括 2.0.0

除此之外,还可以使用数学运算符

比如:> >= < <= - || 等,指定版本范围(多个运算之间空格):

> 2.1

匹配2.2.0、2.2.1、2.3.0,不匹配2.1.0、2.0.0

>= 1.2.7 < 1.3.0

匹配1.2.7、 1.2.8 、1.2.9,不匹配1.2.6、 1.3.0

1.2.7 || >= 1.2.9 < 2.0.0

匹配1.2.7、 1.2.9、 1.3.0,不匹配1.2.8、 2.0.0

1.2.3 - 2.3.4

即 >= 1.2.3 <= 2.3.4

还可以使用替代符号Xx*,或者省略某个部分:

*

即 >=0.0.0 (任意版本)

1.x

即 >=1.0.0 <2.0.0

1.2.x

即 >=1.2.0 <1.3.0

1

即 1.x.x ,等同于 >=1.1.0 <2.0.0

1.2

即 1.2.x ,等同于>=1.2.0 <1.3.0

更多可查阅

docs.npmjs.com/about-seman…

版本号计算器

semver.npmjs.com/