无法在VS代码中的asp.net core SPA项目中使用angular CLI-Get error ng未被识别为cmdlet的名称

无法在VS代码中的asp.net core SPA项目中使用angular CLI-Get error ng未被识别为cmdlet的名称,angular,asp.net-core,.net-core,visual-studio-code,angular-cli,Angular,Asp.net Core,.net Core,Visual Studio Code,Angular Cli,起初,当我在VS代码中创建基于aspnetcore spa的项目时,我能够使用Angular。在项目开发期间的某个时候,我遇到了需要RXJS 6.0.0的场景。我查看了我的package.JSON,得到了RXJS 5.5.6。所以我决定在RXJS的最新版本上安装npm,这进一步打破了我现有的组件,说它们依赖于旧版本的RXJS。由于某种原因,在VS Code CLI中执行此安装和卸载时,我还破坏了Angular CLI。我不想安装最新的Angular CLI,因为我的项目在较早的Angular版本

起初,当我在VS代码中创建基于aspnetcore spa的项目时,我能够使用Angular。在项目开发期间的某个时候,我遇到了需要RXJS 6.0.0的场景。我查看了我的package.JSON,得到了RXJS 5.5.6。所以我决定在RXJS的最新版本上安装npm,这进一步打破了我现有的组件,说它们依赖于旧版本的RXJS。由于某种原因,在VS Code CLI中执行此安装和卸载时,我还破坏了Angular CLI。我不想安装最新的Angular CLI,因为我的项目在较早的Angular版本上,我不确定如何检查它。有人能告诉我如何在VS代码中恢复aspnetcore spa项目中使用的Angular CLI版本吗

当我尝试在VS代码中的项目文件夹内运行任何Angular cli命令时,会出现以下错误:

ng g成分试验 ng:术语“ng”不能识别为cmdlet、函数、脚本文件或可操作程序的名称。检查名字的拼写, 或者,如果包含路径,请验证路径是否正确,然后重试。 第1行字符:1 +ng g成分试验 + ~~ +CategoryInfo:ObjectNotFound:(ng:String)[],CommandNotFoundException +FullyQualifiedErrorId:CommandNotFoundException

下面是我的Package.json

{
  "name": "vega",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve --extract-css",
    "build": "ng build --extract-css",
    "build:ssr": "npm run build -- --app=ssr --output-hashing=media",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^5.2.5",
    "@angular/cdk": "^5.2.0",
    "@angular/common": "^5.2.0",
    "@angular/compiler": "^5.2.0",
    "@angular/core": "^5.2.0",
    "@angular/forms": "^5.2.0",
    "@angular/http": "^5.2.0",
    "@angular/material": "^5.2.0",
    "@angular/platform-browser": "^5.2.0",
    "@angular/platform-browser-dynamic": "^5.2.0",
    "@angular/platform-server": "^5.2.0",
    "@angular/router": "^5.2.0",
    "@nguniversal/module-map-ngfactory-loader": "^5.0.0-beta.5",
    "@sentry/browser": "^5.6.1",
    "ajv": "^6.0.0",
    "aspnet-prerendering": "^3.0.1",
    "auth0-js": "^9.11.3",
    "bootstrap": "^3.3.7",
    "core-js": "^2.4.1",
    "ngx-toastr": "^8.10.2",
    "rxjs": "^5.5.6",
    "rxjs-compat": "^6.5.3",
    "zone.js": "^0.8.19"
  },
  "devDependencies": {
    "@angular/cli": "~1.7.0",
    "@angular/compiler-cli": "^5.2.0",
    "@angular/language-service": "^5.2.0",
    "@types/jasmine": "~2.8.3",
    "@types/jasminewd2": "~2.0.2",
    "@types/node": "~6.0.60",
    "codelyzer": "^4.0.1",
    "jasmine-core": "~2.8.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~2.0.0",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "^1.2.1",
    "karma-jasmine": "~1.1.0",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.1.2",
    "ts-node": "~4.1.0",
    "tslint": "~5.9.1",
    "typescript": "~2.5.3"
  },
  "optionalDependencies": {
    "node-sass": "^4.9.0"
  }
}
在node.js中运行ng--version会显示以下内容。我是否应该将Angular版本全局恢复到5.2.0,并将CLI版本安装到1.7.0

首先,您必须在您的环境中进行设置 系统的变量。如果您正在使用windows,请转到您的 环境变量来设置它

如果没有,请执行以下步骤:
  • 在桌面上,右键单击我的电脑这台电脑电脑图标
  • 从关联菜单中选择属性
  • 选择高级系统设置链接
  • 单击环境变量。如果路径环境变量不存在,请单击新建并创建一个
  • 编辑环境变量窗口中,输入路径环境变量的值。应该是这样。根据我的机器,它应该像下面这样C:\users[my\u USER\u Name]\AppData\Roaming\npm\node_modules@angular\cli\bin
  • 单击确定。单击
    OK
    关闭所有剩余窗口
  • 重新打开命令提示符窗口,然后运行
    ng new MyApp
    。现在应该可以了

您正在使用Powershell?你试过使用cmd吗?检查ide配置。你能在外面建一个有角度的项目吗?另外,在更新Rxjs时,由于其他依赖关系,请使用ng update。我没有使用powershell。我在VisualStudio代码中使用终端。它不是独立的angular项目,而是asp.net核心spa项目模板的一部分。我应该检查IDE配置以了解什么?它可能使用PowerShell如果您在windows中,您可以尝试使用干净的cmd命令吗