NPM是否有命令根据可用的项目模块列出最小的Node版本依赖性?
答案 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!