在“ package.json”的“依赖项”字段中添加“ npm”有什么意义吗?

时间:2019-01-03 19:09:06

标签: node.js npm package.json

我在package.json内的某个地方看到了这个:

"dependencies": {
  ...,
  "npm": "^6.1.0",
  ...
}

这有什么意义吗?

npm会因此而更新吗?

如果是,如果当前版本低于6,它将能够这样做吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

这不是软件包的常规做法。这不会影响您全局安装npm

如果您希望指定需要安装软件包的npm版本,则engines中的package.json字段是放置软件包的适当位置。来自the npm docs

  

您还可以使用“引擎”字段来指定哪些版本的npm能够正确安装程序。例如:

{ "engines" : { "npm" : "~1.0.20" } }
     

除非用户设置了engine-strict config标志,否则此字段仅供参考,并且仅在将软件包作为依赖项安装时才会产生警告。

npm不会阻止安装npm中列出的具有不同版本engines的软件包,但是会在控制台中警告您正在请求其他版本的{{1} },而不是您所使用的。

npm作为依赖项进行安装的唯一目的是,如果它是一个需要以某种方式直接使用npm的API的程序包(例如npm分析器等) )。