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

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

没有。没有内build的方式recursion检查当前包及其依赖关系,并将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'和'dnode'),你可以看到一些依赖关系的最低版本是'0.10',但是很多依赖关系声称可以与所有版本的节点( '*' )一起工作。

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

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

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

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

我想你应该尝试npm ls命令