此版本的 CLI 仅与 Angular 版本 5.0.0 或更高错误兼容

This version of CLI is only compatible with Angular version 5.0.0 or higher error

我已经有 angular 个项目 运行 在 4 版本中。在安装新项目时,不幸的是我安装了 6 版本的 angular cli。这给我一个错误 'Your global Angular CLI version is greater than your local version' while 运行 ng serve 命令在旧项目中 运行 在 4 版本中。我再次尝试更新我的 Anglar 本地版本。但是现在我有一个错误 This version of CLI is only compatible with Angular version 5.0.0 or higher.我的 package.json 如下:

 {
  "name": "authority-client",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular-devkit/core": "^0.7.2",
    "@angular/animations": "^4.2.4",
    "@angular/common": "^4.2.4",
    "@angular/compiler": "^4.2.4",
    "@angular/core": "^4.2.4",
    "@angular/forms": "^4.2.4",
    "@angular/http": "^4.2.4",
    "@angular/platform-browser": "^4.2.4",
    "@angular/platform-browser-dynamic": "^4.2.4",
    "@angular/router": "^4.2.4",
    "@types/file-saver": "^1.3.0",
    "angular2-cookie": "^1.2.6",
    "core-js": "^2.4.1",
    "file-saver": "^1.3.8",
    "ng2-toastr": "^4.1.2",
    "ngx-bootstrap": "^2.0.1",
    "ngx-loading": "^1.0.14",
    "npm": "^5.5.1",
    "postcss-loader": "^2.0.9",
    "rxjs": "^5.4.2",
    "sweetalert2": "^7.22.0",
    "zone.js": "^0.8.14"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.7.0",
    "@angular/cli": "^6.1.5",
    "@angular/compiler-cli": "^4.2.4",
    "@angular/language-service": "^4.2.4",
    "@ngtools/webpack": "^6.1.5",
    "@types/jasmine": "~2.5.53",
    "@types/jasminewd2": "~2.0.2",
    "@types/node": "~6.0.60",
    "angular-ide": "^0.9.44",
    "codelyzer": "~3.1.1",
    "jasmine-core": "~2.6.2",
    "jasmine-spec-reporter": "~4.1.0",
    "karma": "~1.7.0",
    "karma-chrome-launcher": "~2.1.1",
    "karma-cli": "~1.0.1",
    "karma-coverage-istanbul-reporter": "^1.2.1",
    "karma-jasmine": "~1.1.0",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "^5.4.0",
    "ts-node": "~3.2.0",
    "tslint": "~5.3.2",
    "typescript": "~2.3.3"
  }
}

谁能解决这个错误。我已经尝试了过去 2 天,但我找不到任何合适的解决方案。

使用 CLI 版本 1.4.9 和 angular 4.

npm install @angular/cli@1.4.9

"devDependencies": {
    "@angular-devkit/build-angular": "~0.7.0",
    "@angular/cli": "1.4.9",
    ....
    ....
  }

你可以参考一下

您可以通过运行解决您的问题:

npm install --save-dev @angular/cli@latest

我想这就是您要找的。 其他答案只是忘记包含 -g 参数。

npm install -g @angular/cli@1.4.9

错误本身都说了。您没有在全球范围内安装它;) 希望这能解决您的问题。

更新: 要将 Angular CLI 更新到新版本,您必须同时更新全局包和项目的本地包。

全局包:

npm uninstall -g @angular/cli
npm cache verify // If npm version is < 5 then use `npm cache clean`
npm install -g @angular/cli@latest

本地项目包:

// Use rmdir /S/Q node_modules dist in Windows Command Prompt; 
// Use rm -r -fo node_modules, dist in Windows PowerShell

rm -rf node_modules dist 
npm install --save-dev @angular/cli@latest
npm install

有关 info 的更多信息,请查看 GitHub 上的自述文件。

更新 Angular 工作区(本地)的 CLI

npm install --save -dev @angular/cli@latest

上述命令从 Angular 9 及以后的版本起已过时。 angular 9 和 10 以后请使用以下命令,

npm install --save --only=dev @angular/cli@latest

注意:如果安装正确,请确保使用带有“-g”的命令安装全球版本。

npm install -g @angular/cli@latest

运行更新命令以获取需要升级的所有依赖项的列表。

ng update

下一步 运行 为每个单独的 Angular 核心包更新命令如下

ng update @angular/cli @angular/core

但是,我必须另外添加“–force”和“–allow-dirty”标志命令来解决所有其他未决问题。

ng update @angular/cli @angular/core --allow-dirty

ng update @angular/cli @angular/core --allow-dirty --force