1. 关于版本号的描述
npm模块的完整的版本号一般是【主版本 . 次要版本 . 补丁版本】,一般情况下,次要版本号发生改变的话,表示程序有重大更新。
2. 用 ~ 指示范围
如果指定了次要版本,允许补丁版本升级。如果没有指定次要版本,允许次要版本升级。
****
能够接受的版本范围 | 说明 | |
---|---|---|
~1.2.3 | 1.2.3 <= version < 1.3.0 | |
~1.2 | 1.2.0 <= version < 1.3.0 | |
~1 | 1.0.0 <= version < 2.0.0 | |
~0.2.3 | 0.2.3 <= version < 0.3.0 | |
~0.2 | 0.2.0 <= version < 0.3.0 | |
~0 | 0.0.0 <= version < 1.0.0 | |
~1.2.3-beta.2 | 1.2.3-beta.2 <= version < 1.3.0 | 1.2.3版允许高于beta.2的beta版,但1.2.4-beta.2不被允许,因为是属于另一个版本号组的beta版本。 |
2. 用 ^ 指定范围
这里大概可以如此概述:
① 若主版本号不为0,则允许次要版本号+补丁版本号升级;② 若主版本号为0,次要版本号不为0,则允许补丁版本号升级;③ 若主版本号+次要版本号皆为0,将无法升级模块;④ 若主版本不为0,补丁版本缺失(将被视作0),那么将允许次要版本+补丁版本升级到到最新;⑤ 若主版本为0,补丁版本缺失(将被视作0),那么允许补丁版本升级到最新;⑥ 若次要版本+补丁版本均缺失,此时补丁版本,被视作1,那么将允许次要版本+补丁版本升级到最新。
能够接受的版本范围 | 说明 | |
---|---|---|
^1.2.3 | 1.2.3 <= version < 2.0.0 | |
^0.2.3 | 0.2.3 <= version < 0.3.0 | |
^0.0.3 | 0.0.3 <= version < 0.0.4 | |
^1.2.3-beta.2 | 1.2.3-beta.2 <= version < 2.0.0 | 允许1.2.3 版的高于beta-2 的beta版本 |
^0.0.3-beta.2 | 0.0.3-beta.2 <= version < 0.0.4 | 只允许0.0.3 版的高于beta-2 的版本 |
package.json依赖管理dependencies中 ^ 和 ~ 的区别
原文:https://www.cnblogs.com/lvsk/p/14750219.html