ng:“ng”一词不被识别为cmdlet、函数或脚本文件的名称。Visual Studio Code终端

12
在Visual Studio Code中,当我运行命令ng build时,我遇到了这个错误:
PS D:\Dashboard\Test1> ng build
ng : The term 'ng' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if
a path was included, verify that the path is correct and try again.
At line:1 char:1
+ ng build
+ ~~
    + CategoryInfo          : ObjectNotFound: (ng:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

我已经将这些环境变量添加到 Path 中:

Translated:

我已经将这些环境变量添加到 Path 中:

%USERPROFILE%\AppData\Local\Microsoft\WindowsApps;
C:\Users\Avind\AppData\Local\Programs\Microsoft VS Code\bin;
C:\Users\Avind\AppData\Roaming\npm;

我该如何解决这个问题?

注意:我的电脑中有 node.js,安装在 C:\Program Files\nodejs。从命令提示符中输入 ng new project 没有反应,但从 node.js 命令中可以执行成功。

在 Visual Studio Code 终端中执行 npm install -g @angular/cli@latest 后,我收到以下消息,并且 ng 命令无法使用:

PS D:\Path\Test1> npm install -g @angular/cli@latest
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
C:\Users\Avind\AppData\Roaming\npm\ng -> C:\Users\Avind\AppData\Roaming\npm\node_modules\@angular\cli\bin\ng

> @angular/cli@9.1.9 postinstall C:\Users\AR20095474\AppData\Roaming\npm\node_modules\@angular\cli
> node ./bin/postinstall/script.js

+ @angular/cli@9.1.9
updated 1 package in 53.477s

如果在终端中执行npm config get bin-links命令,它会返回什么? - kai
@kai - 在 VS Code 终端中显示 true - R15
你能否检查一下C:\Users\Avind\AppData\Roaming\npm文件夹内是否有一个名为ng.cmd的文件? - kai
@kai - 是的,这个文件就在同一个路径下。 - R15
10个回答

22

为了让 'ng' 命令起作用,您需要安装最新的 Angular CLI。您可以从命令终端或 Visual Studio Code 终端运行它:

npm install -g @angular/cli@latest

如果还是不起作用,请从程序和功能中卸载并重新安装Node.js。


你安装了Node和npm吗?你以管理员身份运行它了吗? - Sajeetharan
我已经设置了node.js和npm环境变量,请检查一下。我以管理员身份运行了上述命令,但是VS Code仍然显示错误。 - R15
1
我可以清楚地看到 Angular CLI 已安装,我认为你正在做一些傻事。 - Sajeetharan
我从昨天开始一直在做那个愚蠢的事情。可能的原因是什么呢? - R15
可以尝试在命令提示符中执行该操作并查看结果。 - Sajeetharan
让我们在聊天中继续这个讨论 - Sajeetharan

9

像这里的Angular CLI一样,请确保您已安装Angular CLI。
您可以从系统的任何位置运行此命令。

npm install -g @angular/cli
ng --version

应该会打印出类似这样的内容:
     _                      _                 ____ _     ___
    / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
   / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
  / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
 /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
                |___/


Angular CLI: 13.1.2
Node: 16.13.1
Package Manager: npm 8.1.2
OS: win32 x64

Angular:
...

Package                      Version
------------------------------------------------------
@angular-devkit/architect    0.1301.2 (cli-only)
@angular-devkit/core         13.1.2 (cli-only)
@angular-devkit/schematics   13.1.2 (cli-only)
@schematics/angular          13.1.2 (cli-only)

我需要在哪里执行它? - R15
任何地方都无所谓,它是全局安装。 - CorrM
完成后,我能够通过命令行创建项目,但是VS Code仍无法运行ng命令。 - R15
如果您在安装CLI后没有关闭VS Code,请尝试重新启动。并展示您的结果。 - CorrM

5

3

在使用PowerShell时,我遇到了类似的错误,我使用以下命令解决了这个问题:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

2

方法1:

步骤1:运行命令 "Set-ExecutionPolicy RemoteSigned -Scope CurrentUser"

运行此命令后,您可以看到系统将当前用户的所有策略设置为远程。这个过程需要几秒钟时间来完成。

步骤2:在此输入图像描述

Get-ExecutionPolicy -list

当你运行这个命令时,你的屏幕上会显示一些策略。
验证当前用户的策略是否为RemoteSigned。如果是,则应该现在就可以工作了。如果不是,请尝试下面的第二种方法:
方法2:
在路径C:\Users%username%\AppData\Roaming\npm\中找到文件"ng.ps1"并将其从目录中删除。
如果你不知道文件扩展名,那么右键单击文件->转到属性并检查文件的扩展名。
注意:请不要删除任何其他文件。确保只删除ng.ps1文件。

移除 ng.ps1 看起来可以强制重新创建文件,这一次使用正确的签名。这样比调整策略安全得多。 - Billdr

2

尝试使用这个命令:

npm install -g @angular/cli@latest

然后使用以下内容:
  1. Open Windows PowerShell

  2. Run

    Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
    Get-ExecutionPolicy
    

    and you get

    RemoteSigned
    
  3. Run

    Get-ExecutionPolicy -list
    

    You get

    Scope          ExecutionPolicy
    -----          ---------------
    MachinePolicy  Undefined
    UserPolicy     Undefined
    Process        Undefined
    CurrentUser    RemoteSigned
    LocalMachine   Undefined
    

0
这个问题可能是由于未设置Path环境变量导致的。
这对我有用:
运行:
npm uninstall -g angular-cli
npm uninstall --save-dev angular-cli
npm install -g @angular/cli

安装完成后,进入 高级系统配置环境变量Path编辑
如果路径中没有 Angular 变量,则添加: "C:\Users\youruser\AppData\Roaming\npm"
关闭终端,重新打开并再次运行命令。

0

我通过运行以下三个命令解决了这个问题:

npm uninstall -g @angular/cli angular-cli
npm cache clean or npm cache clean --force
npm install -g @angular/cli@latest

它运行成功了。


但是“或”(不是字面意思)?你能说得更清晰些吗? - Peter Mortensen

0

四个步骤来解决问题:

  1. 卸载 Node.js 并

  2. 前往网站:https://nodejs.org/en/

  3. 使用最新的 LTS 版本重新安装[1](见下图)

    Enter image description here

  4. 最后,再次尝试上面接受的答案。

[1]: LTS 代表长期支持


0

我也遇到了同样的问题。我在一个新标签页中重新打开了CMD,并输入了同样的命令,就像这样:

ng g c componentname

然后按下 Enter 键,这对我有用。


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