title:
order: 2
category: 其它
ICE 的 npm 包默认遵守 Semver 语义化版本 2.0 的规则。
版本号规则
组件的版本以 major.minor.patch
形式表示 主版本号.次版本号.修订号
比如: 0.1.0
0.3.1
。
版本号递增规则如下:
- 主版本号:不兼容的 API 修改,
- 次版本号:向下兼容的功能性新增,
- 修订号:向下兼容的问题修正。
版本控制规范
目前项目内用到的主要有以下两种规则:
patch 位自动升级
标识符:~
依赖版本表示为 ~0.1.0
如:
{
"dependencies": {
"foo": "~2.0.0"
}
}
当 foo
发布了 2.0.30
版本,表示做了向下兼容的问题修正(BUG fix 等), 在开发与构建时则会安装 2.0.30
。
如果 foo
存在 2.1.0
版本,根据标识符 ~
也不会安装此版本。
优点:
自动更新升级项目内组件依赖版本(patch),当组件开发者发布了新版本修复存在的现有问题,可自动升级。
minor 位自动升级
标识符:^
依赖版本表示为 ^0.1.0
温馨提示:包含 patch 自动升级
如:
{
"dependencies": {
"foo": "^2.0.0"
}
}
当 foo
发布了 2.0.30
版本,表示做了向下兼容的问题修正(BUG fix 等), 在开发与构建时则会安装 2.0.30
如果 foo
存在 2.1.0
版本,根据标识符 ^
则会安装 2.1.0
。
优点:
自动更新升级项目内组件依赖版本(minor),当组件开发者发布了新的特性、API 等,可升级到相应的版本。同时也包含升级 (patch)的功能。
固定版本号
固定版本号则需要项目开发者维护版本依赖,无标识符。
如:
{
"dependencies": {
"foo": "2.0.0"
}
}
表示只安装 foo
2.0.0
版本,不会在开发与构建时安装其他版本。
优点:
项目内的组件依赖都是固定的版本,完全保证项目代码一致性。如当组件含有 BUG 时,需开发者手动刚更新组件依赖的版本。