我如何知道项目的最小node.js版本?

时间:2014-09-19 10:16:57

标签: javascript node.js npm

NPM是否有命令根据可用的项目模块列出最小的Node版本依赖性?

4 个答案:

答案 0 :(得分:10)

没有。没有内置的方法来递归检查当前包及其依赖关系,并将engines.node要求整理成一个整体。

如果您使用类似unix的系统,可以尝试以下命令:

find . -name package.json | xargs grep -h node\": | sort | uniq -c

它会给你这样的输出:

    1     "gnode": "0.1.0",
    36     "node": "*"
    1     "node": "0.10.x || 0.8.x"
    1     "node": "0.4 || >=0.5.8"
    1     "node": ">= 0.10.0"
    3     "node": ">= 0.4"
    3     "node": ">= 0.4.0"
    2     "node": ">= 0.4.1 < 0.5.0"
    2     "node": ">= 0.6"
    1     "node": ">= 0.6.6"
    8     "node": ">= 0.8"
    3     "node": ">= 0.8.0"
    1     "node": ">=0.1.90"
    2     "node": ">=0.10.0"
    5     "node": ">=0.4"
    9     "node": ">=0.4.0"
    3     "node": ">=0.4.12"
    3     "node": ">=0.4.9"
    5     "node": ">=0.6"
    5     "node": ">=0.8"
    19     "node": ">=0.8.0"
    1     "node": ">=0.8.x"
    1   "engines": { "node": ">= 0.4.0" }
    1   , "dnode": "10.999.14234"

在哪里(除了一些无关的&#39; gnode&#39; dnode&#39;),您可以看到某些依赖项的最低版本为“0.10&#39;”但是许多依赖项声称可以使用所有版本的节点('*')。

要查看哪个package.json需要哪个版本,请使用:

find . -name package.json | xargs grep node\":

答案 1 :(得分:0)

您应该能够检查package.json以获取以下内容:

  "engines": {
    "node": ">=0.10.0"
  }

答案 2 :(得分:0)

我认为你应该尝试使用npm ls命令

答案 3 :(得分:0)

您可以使用 ls-engines 包。

https://www.npmjs.com/package/ls-engines

> ls-engines
`package.json` found; building ideal tree from package.json...

Valid node version range: ^14 || ^13 || ^12 || ^11 || ^10 || ^9 || ^8 || ^7 || ^6 || ^5 || ^4 || ^0.12 || ^0.11 || ^0.10 || ^0.9 || ^0.8

Currently available, most recent, valid node major versions: v14.2, v13.14, v12.16.3, v11.15, v10.20.1, v9.11.2, v8.17, v7.10.1, v6.17.1, v5.12, v4.9.1, v0.12.18, v0.11.16, v0.10.48, v0.9.12, v0.8.28

Current node version, v13.7.0, is valid!