ng :术语“ng”未被识别为 cmdlet 的名称,函数 Visual Studio 代码终端

Posted

技术标签:

【中文标题】ng :术语“ng”未被识别为 cmdlet 的名称,函数 Visual Studio 代码终端【英文标题】:ng : The term 'ng' is not recognized as the name of a cmdlet, function Visual Studio Code Terminal 【发布时间】:2020-10-13 01:45:26 【问题描述】:

在 VS 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中添加了这些环境变量

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

我怎样才能摆脱这个问题?

注意:我在C:\Program Files\nodejsnode.js。从命令提示符 ng new project 不工作,但从 node.js 命令工作。

编辑 1:从 VS Code 终端执行 npm install -g @angular/cli@latest 后低于 msg 和 ng cmd 不起作用

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 - 在 VS 代码终端中说 true 你能检查一下C:\Users\Avind\AppData\Roaming\npm里面有一个名为ng.cmd的文件吗? @kai - 是的,这个文件在同一个路径中。 【参考方案1】:

您需要安装最新的 angular cli 才能使 ng 命令正常工作,您可以从命令行或 Visual Studio 代码终端运行它

npm install -g @angular/cli@latest

如果仍然无法正常工作,请从program and feature 卸载并重新安装node.js

【讨论】:

对您安装了 node 和 npm 感兴趣吗?你以管理员身份运行它? 我有 node.js 和 npm 如上面给出的 env 变量 pl 检查。我以管理员身份在 cmd 上方运行,但 VS 代码显示错误。 我可以清楚地看到安装的 angular cli,我认为你在做一些傻事 从昨天开始我就一直在做那个傻事。可能的原因是什么? 可能会尝试在命令提示符下执行并查看【参考方案2】:

在这里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)

【讨论】:

我需要从哪里执行它? 任何不重要的地方,都是全局安装。 完成后,我可以从 cmd 创建项目,但 VS 代码仍然没有运行 ng 命令。 如果你在安装 CLI 后没有关闭 vs 代码,请尝试重新启动。并显示你的结果【参考方案3】:

这对我有用,上面的尝试在我的情况下不起作用。

Run this command -> Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

参考:

http://www.techtutorhub.com/article/Getting-ng-File-AppData-Roaming-npm-ng-ps1-cannot-be-loaded-The-file-npm-ng-ps1-is-not-digitally-signed-Angular-Error-when-running-commands/62

【讨论】:

【参考方案4】:

方法一:

Step1:运行命令“Set-ExecutionPolicy RemoteSigned -Scope CurrentUser”

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

Step2: 在此处输入图片描述 Get-ExecutionPolicy -list 运行此命令时,您的监视器屏幕上会显示一些策略 验证当前用户的策略是否为 RemoteSigned。 ->如果是,这应该现在可以工作。 如果否,请尝试以下方法2:

方法二: 在路径 C:\Users%username%\AppData\Roaming\npm\ 中找到文件“ng.ps1”和 从目录中删除它。 如果您不知道文件扩展名,请右键单击文件->进入属性并检查文件扩展名。

注意:-请不要删除任何其他文件。确保您只删除 ng.ps1 文件。

【讨论】:

删除 ng.ps1 似乎会强制重新创建文件,这次使用正确的签名。这似乎比摆弄政策要安全得多。【参考方案5】:

我在使用 Powershell 时收到了类似的错误,我使用以下命令来解决它:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

【讨论】:

【参考方案6】:

我有同样的问题。我在新选项卡中重新打开了 CMD 并输入了类似的内容:

ng g c componentname

然后按 Enter,它对我有用。

【讨论】:

【参考方案7】:

这个问题可能是因为没有设置环境变量。 这对我有用:

运行:

npm uninstall -g angular-cli
npm uninstall --save-dev angular-cli
npm install -g @angular/cli

安装后进入高级系统配置->环境变量->路径->编辑

如果此 Angular 变量不在路径中,则添加: "C:\Users\youruser\AppData\Roaming\npm"

关闭终端,打开并再次运行命令

【讨论】:

【参考方案8】:

您需要安装最新的 Angular cli 才能使 ng 命令正常工作,您可以从命令终端或 Visual Studio Code 终端运行它。

#> npm install -g @angular/cli@latest

如果仍然无法正常工作,请从程序和功能中卸载并重新安装 node.js。

【讨论】:

以上是关于ng :术语“ng”未被识别为 cmdlet 的名称,函数 Visual Studio 代码终端的主要内容,如果未能解决你的问题,请参考以下文章

术语“更新 - 数据库”未被识别为cmdlet的名称

PowerShell 和 TFS |术语“tfpt”未被识别为 cmdlet 的名称

PowerShell 该术语未被识别为 cmdlet 函数脚本文件或可运行程序

ssh:术语“ssh”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称

eb :术语“eb”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称

cl:术语“cl”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称