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\nodejs
有node.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 代码终端的主要内容,如果未能解决你的问题,请参考以下文章
PowerShell 和 TFS |术语“tfpt”未被识别为 cmdlet 的名称
PowerShell 该术语未被识别为 cmdlet 函数脚本文件或可运行程序
ssh:术语“ssh”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称