如何找出 nodejs 版本支持哪个版本的 angular-cli?

Posted

技术标签:

【中文标题】如何找出 nodejs 版本支持哪个版本的 angular-cli?【英文标题】:How do I find out which version of angular-cli a version of nodejs support? 【发布时间】:2018-11-18 17:20:34 【问题描述】:

我正在使用 nodejs v8.8.1 和 angular-cli v6.0.8,我收到了这个错误:

您正在运行 Node.js 的 v8.8.1 版本,该版本不支持 角 CLI v6。支持的官方 Node.js 版本是 8.9 和更大。

如果我要安装不同版本的 angular-cli,如何检查 nodejs v8.8.1 支持哪个版本? 我不能反过来做,因为我必须使用 nodejs v8.8.1。

【问题讨论】:

【参考方案1】:

TL;DR:如果您不能使用任何其他版本的节点,您应该使用v5


我所做的是克隆angular-cli repo 然后运行:

git log --oneline -p -L 48,48:package.json --diff-filter=m
--oneline 仅显示提交的简短日志 -p 生成补丁列表 -L 48,48:package.json 这是在提交 7924e0a 时在 package.json 中设置节点版本的当前行 --diff-filter=m 仅显示文件修改(尽管在这里可能无关紧要)

它产生了下面的日志列表。这显示了每次在 package.json engine 属性中更改明确的 node 版本要求。

如您所见,它被更改了 3 次:

c38b5c09 它被明确设置为 node >= 4.1.0 08af5d54 没有改变,但设置了明确的 npm 版本 (npm >=3.0.0) 0a1f19ff 设置为 node >= 6.9.0 29338bca 设置为 node >= 8.9.0

因此,您可以假设您可以在提交应该工作之前使用任何版本的 Angular。该特定提交是针对v6.0.0-beta3。所以我会说主要版本v5

git log 输出

29338bca refactor: set minimum node version to 8.9

diff --git a/package.json b/package.json
--- a/package.json
+++ b/package.json
@@ -34,2 +34,1 @@
-    "node": ">= 6.9.0",
-    "npm": ">= 3.0.0"
+    "node": ">= 8.9.0",
0a1f19ff build: specify package node v6 engine dependency

diff --git a/package.json b/package.json
--- a/package.json
+++ b/package.json
@@ -32,2 +32,2 @@
-    "node": ">= 4.1.0",
+    "node": ">= 6.9.0",
     "npm": ">= 3.0.0"
08af5d54 chore: add engine entries to package.json

diff --git a/package.json b/package.json
--- a/package.json
+++ b/package.json
@@ -33,1 +33,2 @@
-    "node": ">= 4.1.0"
+    "node": ">= 4.1.0",
+    "npm": ">= 3.0.0"
c38b5c09 chore(deps): make node 4.1.0 requirement explicit

diff --git a/package.json b/package.json
--- a/package.json
+++ b/package.json
@@ -18,0 +19,1 @@
+    "node": ">= 4.1.0"

【讨论】:

以上是关于如何找出 nodejs 版本支持哪个版本的 angular-cli?的主要内容,如果未能解决你的问题,请参考以下文章

win7最高支持nodejs的v13.14.0版本

最新的idea版本无法安装nodejs插件怎么办

windows xp 安装哪个版本的node

如何识别Javascript版本[关闭]

如何从 VSTO 插件中找出当前版本的 Outlook?

angularjs哪个版本用的多