◆

npm 包版本号符号 ^ ~ x 详解

2023-02-02 01:370

包版本的控制

假设 package.json 的包版本如下

'dependencies':
  {
    'typescript': '^3.0.0',
    'vuex': '~3.1.0',
    'vue-router': '>=3.5.2',
    'fs-extra': '>9.1.0',
    'jsdom': '=19.0.0',
    'pathe': '<3.5.2',
    'rimraf': '<=3.0.2',
    '@types/node': '^18.7.x',
    'turbo': '1.x.x',
    'husky': '*.*.*',
    'inquirer': 'x.x',
    'classnames': 'x',
    'pinia': '*',
  }

执行安装后得到的版本如图所示 npm包版本的控制

分析

+ @types/node ^18.7.x -> 18.8.4
+ classnames x -> 2.3.2
+ fs-extra >9.1.0 -> 10.1.0
+ husky *.*.* -> 8.0.1
+ inquirer  x.x -> 9.1.3
+ jsdom  =19.0.0 -> 19.0.0 (20.0.1 is available)
+ pathe &lt;3.5.2 -> 0.3.9
+ pinia * -> 2.0.23
+ rimraf &lt;=3.0.2 -> 3.0.2
+ turbo 1.x.x -> 1.5.6
+ typescript ^3.0.0 -> 3.9.10 (4.8.4 is available)
+ vue-router >=3.5.2 -> 4.1.5
+ vuex ~3.1.0 -> 3.1.3 (4.0.2 is available)

通过上述安装后得到的版本可得知

  • ^ 开头的版本会固定首个大版本,后面的两个小版本会更新到最新,如 typescript ^3.0.0 -> 3.9.10 (4.8.4 is available)
  • ~ 开头的版本会前两个版本,后面的小版本会更新到最新 vuex ~3.1.0 => vuex 3.1.3
  • 不带符号,直接写版本号或者版本号前是 = 或者 <= 会安装固定的版本,+ jsdom =19.0.0 -> 19.0.0 (20.0.1 is available)
  • 版本号前是 > 或者 >= 会安装最新的版本,vue-router >=3.5.2 -> 4.1.5
  • 最小的版本设置为 x 或者 *,其最小的版本号会更新到最新 react 15.4.x => react 15.4.2
  • 依次类推任何一位版本设置为 x 或者 *,其当前位置的版本号都会更新到最新
  • 永远保持最新版本可以将版本号设置为 x 或者 *,如 pinia * => pinia 2.0.12
💬留言板0

还没有留言,来发表第一条吧~

PAGE LOAD / LIVEnpm 包版本号符号 ^ ~ x 详解加载中