ng angular cli version通知警告

时间:2018-02-09 06:33:19

标签: angular build

每当我运行ng命令时,我都会收到此警告

Your global Angular CLI version (1.6.8) is greater than your local version (1.6.0). The local Angular CLI version is used.
To disable this warning use "ng set --global warnings.versionMismatch=false".

我该如何解决这个问题?

当我在那时构建时,我使用以下命令忽略警告。

ng build --prod --aot=false

有人这样做了吗?

2 个答案:

答案 0 :(得分:0)

Angular-cli为您提供此警告,因为您已全局安装了angular-cli v1.6.8,您可以通过ng --version进行检查。但是,您的项目devDependencies中的angular-cli v1.6.0。当您运行ng build时,您使用的是全局安装的angular-cli,因为它与本地安装的不同,可能会导致一些不可预测的行为。 您应该向package.json添加一个脚本(可能是您已经拥有的)

package.json

....
"scripts": {
    "build": "ng build --prod --aot",
}

当您通过此npm npm run build运行此脚本时,它将使用本地安装的angular-cli,而不会发出警告。

此外,您不应直接使用ng,因为您的计算机中可能有不同的角度项目,所有这些项目都可能依赖于不同的angular-cli版本。如果您按ng构建它们,则可能会出现一些构建错误。

想想另一种情况,假设您在一家拥有数百名开发人员的大公司工作。许多团队也开发了有角度的项目或其他项目,并且您的公司有一台CI机器。每个项目都建立在这台机器上。既然你们是网络开发人员,那么这台机器需要安装npm。没关系。但是,有些人可能会使用angular-cli,有些人可能会使用webpack或其他一些团队开发React,他们需要其他工具。您无法在此共享CI计算机上通过npm install -g <insert-tool-here>全局安装它们。这将导致团队之间的版本不匹配和许多错误。而且,很难保持这一切。在这种情况下,每个团队需要做的是放置他们的工具devDependencies并通过npm scripts运行它们。

希望这能为你澄清。

答案 1 :(得分:0)

我通过使用以下命令

更改角度CLI版本来解决此问题
npm install --save-dev @angular/cli@1.6.8

检查package-lock.json是否有角度版本,并在上面的命令中更改版本。