npm更新了我将版本设置为固定的软件包?

时间:2019-09-26 14:37:47

标签: npm package.json

npm的新手,我的package.json像这样:

{
  "version": "1.0.0",
  "name": "asp.net",
  "private": true,
  "devDependencies": {
    "babel-core": "6.26.0",
    "babel-preset-es2015": "6.24.1",
    "karma": "^4.1.0"
    }
}

因此您可以看到babel-core的版本已固定为6.26.0,因为我不想升级它。然后我运行npm updatepackage.json变成了:

{
  "version": "1.0.0",
  "name": "asp.net",
  "private": true,
  "devDependencies": {
    "babel-core": "6.26.0",
    "babel-preset-es2015": "6.24.1",
    "karma": "^4.3.0"
    }
}

这是好事,业力得到了提升,但通货膨胀却没有,这是有道理的。然后我安装了ncu,然后运行ncu -upackage.json变成了:

{
  "version": "1.0.0",
  "name": "asp.net",
  "private": true,
  "devDependencies": {
    "babel-core": "6.26.3",
    "babel-preset-es2015": "6.24.1",
    "karma": "^4.1.0"
    }
}

3个问题:

  1. 运行npm update之后,babel-core是否已更新为6.26.3而未修改package.json,还是babel-core根本未更新?
  2. 我告诉npm不要更新babel,为什么ncu -u为我更新babel
  3. 为什么我们需要ncu才能将package.json升级到最新版本?难道不应该根据package.json中的插入符号或代字号来升级它们,而不是简单地升级到最新版本吗?

更新:如果ncu设计用于将所有内容更新到最新版本,为什么不简单地删除^~来做到这一点呢?

0 个答案:

没有答案