每当我运行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
有人这样做了吗?
答案 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是否有角度版本,并在上面的命令中更改版本。