Angular:升级到版本5错误:@ angular / compiler-cli的版本需要为2.3.1或更高版本。当前版本为" 5.0.0"

时间:2017-11-12 00:07:13

标签: angular npm

声明

潜在重复this,但详细问题并未显示相关的具体错误消息,因此它含糊不清且无益。当我在Google中输入错误时,我根本无法找到它,因为他的问题在任何地方都没有包含错误。

请不要关闭此问题,除非为了清晰起见编辑了其他问题,因为相关错误没有其他结果。

尝试在升级到v5后运行ng serve,但遇到一些错误。任何人都知道什么了?根据package.json,我的@angular/compiler-cli是5.0.0 ...不确定为什么它说5.0.0小于2.3.1。

这是我的升级命令:

npm install @angular/{animations,common,compiler,compiler-cli,core,forms,http,platform-browser,platform-browser-dynamic,platform-server,router}@5.0.0

我收到以下错误:

$ ng serve
Your global Angular CLI version (1.5.0) is greater than your local
version (1.0.0). The local Angular CLI version is used.

To disable this warning use "ng set --global warnings.versionMismatch=false".
Version of @angular/compiler-cli needs to be 2.3.1 or greater. Current version is "5.0.0".
Error: Version of @angular/compiler-cli needs to be 2.3.1 or greater. Current version is "5.0.0".
    at Object.<anonymous> (REDACTED/node_modules/@ngtools/webpack/src/index.js:27:11)
    at Module._compile (module.js:624:30)
    at Object.Module._extensions..js (module.js:635:10)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)
    at Function.Module._load (module.js:500:3)
    at Module.require (module.js:568:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (REDACTED/node_modules/@angular/cli/tasks/eject.js:10:19)
    at Module._compile (module.js:624:30)
    at Object.Module._extensions..js (module.js:635:10)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)
    at Function.Module._load (module.js:500:3)
    at Module.require (module.js:568:17)
    at require (internal/module.js:11:18)

这是package.json:

{
    "name": "App",
    "version": "0.0.0",
    "license": "MIT",
    "scripts": {
        "ng": "ng",
        "start": "ng serve",
        "start-hmr": "ng serve --hmr -e=hmr",
        "build": "ng build",
        "test": "ng test",
        "lint": "ng lint",
        "e2e": "ng e2e"
    },
    "private": true,
    "dependencies": {
        "@angular/animations": "^5.0.0",
        "@angular/common": "^5.0.0",
        "@angular/compiler": "^5.0.0",
        "@angular/core": "^5.0.0",
        "@angular/forms": "^5.0.0",
        "@angular/http": "^5.0.0",
        "@angular/platform-browser": "^5.0.0",
        "@angular/platform-browser-dynamic": "^5.0.0",
        "@angular/platform-server": "^5.0.0",
        "@angular/router": "^5.0.0",
        "@angularclass/hmr": "^1.2.2",
        "@types/jquery": "^2.0.48",
        "@types/lodash": "^4.14.73",
        "angular2-moment": "^1.7.0",
        "bootstrap": "^3.3.7",
        "core-js": "^2.5.0",
        "jquery": "^3.2.1",
        "lodash": "^4.17.4",
        "particles.js": "^2.0.0",
        "rxjs": "^5.5.2",
        "zone.js": "^0.8.16"
    },
    "devDependencies": {
        "@angular/cli": "1.0.0",
        "@angular/compiler-cli": "5.0.0",
        "@types/jasmine": "2.5.38",
        "@types/node": "^6.0.87",
        "codelyzer": "~2.0.0",
        "jasmine-core": "~2.5.2",
        "jasmine-spec-reporter": "~3.2.0",
        "karma": "~1.4.1",
        "karma-chrome-launcher": "~2.0.0",
        "karma-cli": "~1.0.1",
        "karma-coverage-istanbul-reporter": "^0.2.0",
        "karma-jasmine": "~1.1.0",
        "karma-jasmine-html-reporter": "^0.2.2",
        "protractor": "~5.1.0",
        "ts-node": "~2.0.0",
        "tslint": "~4.5.0",
        "typescript": "~2.4.2"
    }
}

2 个答案:

答案 0 :(得分:18)

在这种情况下,您需要将@angular/cli的本地安装从1.0.0更新为1.5.0。使用CLI的许多次要版本包括许多更改,以及随这些更新而附带的依赖项的更改。

要将CLI的本地版本更新到最新版本,请在命令提示符/终端中使用以下命令,打开该项目的根目录。

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

或者,您只需更新 package.json 中的版本,然后运行npm install

当全局和本地CLI版本不同步时,您可以隐藏CLI显示的警告,但这可能隐藏您遇到的任何问题的解决方案。要隐藏警告,请运行以下命令:

ng set --global warnings.versionMismatch=false

最好保持本地和全球版本同步,以避免出现问题。

答案 1 :(得分:0)

最新的角度7或更高版本使用这些命令

npm install --save-dev @angular/cli@latest
ng config -g cli.warnings.versionMismatch false