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

Mig*_* Q. 8 javascript node.js npm

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

Sam*_*kes 12

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

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

find . -name package.json | xargs grep -h node\": | sort | uniq -c
Run Code Online (Sandbox Code Playgroud)

它会给你这样的输出:

    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"
Run Code Online (Sandbox Code Playgroud)

where(除了一些无关的'gnode'和'dnode')你可以看到某些依赖项的最小版本是'0.10',但许多依赖项声称可以使用node('*')的所有版本.

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

find . -name package.json | xargs grep node\":
Run Code Online (Sandbox Code Playgroud)


Ami*_*adi 8

您可以使用 ls-engines 包。

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

ls-engines --save
Run Code Online (Sandbox Code Playgroud)
`package.json` found; building the 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!
Run Code Online (Sandbox Code Playgroud)


小智 -3

您应该能够检查 package.json 中的以下内容:

  "engines": {
    "node": ">=0.10.0"
  }
Run Code Online (Sandbox Code Playgroud)