package.json依赖管理dependencies中 ^ 和 ~ 的区别

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

上一篇:nginx配置支持Thinkphp3.2


下一篇:scala读取json