对版本号的理解
x.y.z
1.当进行bug fixed 时,升级z
2. 这一次发布的版本与之前发布的版本相比,有新增的功能,而且保证和之前是兼容的,此时升级y
3. 这一次的发布与之前的发布相比是一次大版本的升级,并且还不保证兼容,都是全新的API,此时升级x
注意:
- 一般而言 x 为偶数时代表稳定版本
- x 为奇数时,代表不稳当版本
1.2.*
表示 z 位始终用最新的版本,但是x和y位保持不变,等价于 ~1.2.0
2.x
只有大版本不进行自动升级,其余的y和z均会自动升级到最新版本,等价于***^2.0.0***
小细节
如果之前发布的上一版的版本号是 1.2.9,那么下一次的发布版本号是不是 1.3.0?答案是 no,下一次如果是进行 bug fixed ,那么版本号应该是1.2.10,而并非是 1.3.0
版本问题
^、~、@、>=、<=
^2.0.0 表示2 版本以上,3 版本以下是可以的,限制了大版本,版本号根据 semver 规范,semver规范
~1.2.0 只能比 1.2 大(或者等于),但是不能大于 1.3
大版本是大变化、2.1/2.2 一般表示增加了 api,2.1.1 表示修复了 bug