Fork me on GitHub

2016年4月

语义化版本号及其约束

语义化版本号及其约束

规范

版本格式:主版本号.次版本号.修订号,版本号递增规则如下:

  1. 主版本号:当APP做了大幅的修改,
  2. 次版本号:当APP功能性新增,
  3. 修订号:问题修正。

先行版本号及版本编译信息可以加到“主版本号.次版本号.修订号”的后面,作为延伸。 --- 参考《语义化版本号》

约束

版本约束可以用几个不同的方法来指定。

名称实例描述
确切的版本号1.0.2你可以指定包的确切版本。
范围>=1.0 >=1.0,<2.0 >=1.0,<1.1丨>=1.2通过使用比较操作符可以指定有效的版本范围。有效的运算符:>>=<<=!=。 你可以定义多个范围,用逗号隔开,这将被视为一个逻辑AND处理。一个管道符号将作为逻辑OR处理。
AND 的优先级高于 OR。
通配符1.0.*你可以使用通配符*来指定一种模式。1.0.*>=1.0,<1.1是等效的。
波浪号运算符~1.2标记你所依赖的最低版本,像 ~1.2 (允许1.2以上的任何版本,但不包括2.0)。~1.2相当于>=1.2,<2.0

例如:

表达式 1.8.0|>2.0,<3.0|3.1.*|~4.2
等同于 v==1.8.0 || (v>2.0 && v<3.0) || (v>=3.1.0 && v<3.2.0) || (v>=4.2 && v<5.0)