Angular CLI v13-无法运行"ng"命令。

5

我全局升级了 Angular CLI 到 v13,但当我尝试使用 ng 命令时,它会给出以下错误:

enter image description here

我看到这里,说Angular v13与Nodev16.10.x兼容,所以我安装了Nodev16.10.0,但仍无法正常工作。
我执行标准操作:
npm uninstall -g @angular/cli
npm install -g @angular/cli@latest

我甚至尝试清除npm缓存,但仍然无法工作。

当我降级并全局安装Angular CLI v12时,一切又恢复正常了。

这是某些已知的Angular CLI v13问题吗?

环境:

Windows 10 (win32 x64)

更新:

由于很多答案建议,我将Windows Scripting Host更改为Node.js来运行.js文件。现在执行ng命令,但不管我输入什么命令,它总是给我ng help输出所有可用的命令。就像所有命令都映射到ng help命令。


这个链接解决了你的问题吗? - Dean
7个回答

1
我希望这个解决方案对你有效:
  1. 删除用户环境变量: C:\Users\AppData\Roaming\npm\node_modules@angular\cli\bin

  2. 卸载 Angular

  3. 卸载 Node.js

  4. 重新启动计算机

  5. 重新安装 Node.js 和 Angular


0
使用以下命令删除您的版本:

npm uninstall -g @angular/cli

  1. 使用以下命令卸载Node文件

npm uninstall

  1. 打开电脑的文件浏览器 进入C盘。 在“搜索此电脑”部分,搜索单词“App Data”,然后搜索“Roaming” 删除“Roaming”文件夹中的“npm”文件
  2. 再次输入“npm install”命令
  3. 现在是时候输入命令“npm install -g @ angular / cli”了

我安装了许多其他的CLI工具。如果我删除Roaming文件夹中的npm文件夹,那么所有其他全局安装的工具都会被删除。 - NeNaD
当这个问题发生在我身上时,卸载npm和Angular并没有解决我的问题,我不得不这样做,最终解决了我的问题。 如果找不到方法,最终也要去做。 - minabagheri

0

尝试使用不同的node.js版本/ angular版本可能会破坏npm文件夹(子)结构,导致ng命令无法启动。

Windows内置的删除/卸载程序过程不会删除npm文件夹C:\ Users \\ {user} \ AppData \ Roaming \ npm。

在卸载node后手动删除此文件夹。

下载的(Windows)Node安装程序也会安装兼容的npm,因此在重新安装node之前必须清除这些文件夹-在我的情况下,我不得不手动执行此操作,然后ng又可以正常工作了。


0

将默认的.JS文件打开程序更改为位于“C:\ Program Files \ nodejs”中的节点。那就是那里唯一的问题。

  1. 右键单击任何.js文件,然后单击属性
  2. 现在使用此位置中存在的Node更改打开方式:““C:\ Program Files \ nodejs \ node”
  3. 现在您的角度将在cmd中正确执行

0
在 Windows 系统上,默认情况下,.js 文件关联了 Windows 脚本宿主,因此该脚本将不会通过 Node 运行。您可以打开资源管理器并找到一个 .js 文件,您会发现它不被视为 JavaScript。
打开 JavaScript 文件的属性,在关联程序(或“打开方式”)中,将 node.js 的 exe 文件链接到打开这种类型的文件。

抱歉,您的回答不是很清楚。您能逐步解释应该做什么吗? - NeNaD
我按照你说的做了。现在我调用 ng 命令,但是无论我如何调用它,它总是给出相同的结果 - 审计调用它的所有可能选项(就像我调用 ng help 一样)。 - NeNaD
当您第一次运行.mkv文件时,必须选择一个程序来打开这些文件。同样,将js文件链接到node.js exe文件以进行打开。您可以在属性中更改.js文件的默认设置。 - Mahdi Zarei
我已经这样做了,现在我拥有了上面评论中的行为。无论我做什么,我总是得到 ng help 的输出。 - NeNaD

0

我不确定这个方法是否能解决你的问题,但我会建议你尝试另一种替代方案,一种不同的方法。当我在不同的项目中遇到安装单个版本的node时遇到问题时,我使用了以下方法:使用Node管理器

我推荐你使用Volta,这是一种无需麻烦的管理JavaScript命令行工具的方式。

只需从此处下载可安装文件: https://github.com/volta-cli/volta/releases/download/v1.0.5/volta-1.0.5-windows-x86_64.msi 然后以管理员权限运行它进行安装。

安装完成后,只需运行以下命令即可: volta install node@16(或使用其他特定版本的Node) 它将以“不同的方式”安装新版本的node,但对你来说是透明的:

Volta不使用任何花哨的操作系统功能或特定于shell的钩子。它建立在简单、经过验证的shim方法上。 每当您使用Volta安装工具时,它都会向您的PATH添加一个shim,作为智能(且快速)路由器,将工具的正确版本运行并使用正确的Node引擎。 Volta易于安装,没有外部依赖,因为它是用Rust构建的单个、快速的本地可执行文件。

https://docs.volta.sh/guide/getting-started


-1

我认为你需要将ng.js文件的编码格式从bom + utf8更改为utf8


嗨,编码已经是 utf8 - NeNaD

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接