Semver 介绍
Semver是一个专门分析Semantic Version(语义化版本)的工具,“semver”其实就是这两个单词的缩写。Npm使用了该工具来处理版本相关的工作。相关语义化的定义可以在这里找到。
结构
版本号一般有三个部分,以 .
隔开,就像X.Y.Z,其中
- X:主版本号,不兼容的大改动
- Y:次版本号,功能性的改动
- Z:修订版本号,问题修复
每个部分为整数(>=0),按照递增的规则改变。 在修订版本号的后面可以加上其他信息,用-连接,比如:
- X.Y.Z-Alpha: 内测版
- X.Y.Z-Beta: 公测版
- X.Y.Z-Stable: 稳定版
^, ~,x, * 含义
^: 允许在不修改[major, minor, patch]中最左非零数字的更改(匹配大于X、Y、Z的更新Y、Z的版本号)
~: 匹配大于X.Y.Z的更新Z的版本号
x: 可以替代X、Y、Z中任意一个,表示该位置可更新
*: 任意版本都可以