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

How do I know the minimum node.js version for my project?

本文关键字:node js 版本 何知道 我的 项目      更新时间:2023-09-26

NPM是否有一个命令来列出基于可用项目模块的最小节点版本依赖性?

否。没有内置的方法可以递归地检查当前包及其依赖项,并将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"

其中(除了一些无关的"gnode"answers"dnode"),您可以看到一些依赖项的最低版本是"0.10",但许多依赖项声称可以使用节点('*')的所有版本。

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

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

您可以使用ls引擎包。

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

ls-engines --save
`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!

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

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

我认为您应该尝试npm-ls命令