每当我运行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
有人来了吗?
Angular-CLI会给您此警告,因为您已安装了Angular-CLI v1.6.8,您可以通过ng --version
进行检查。但是,您的项目在其devDependencies
中具有Angular-CLI v1.6.0。运行ng build
时,您正在使用全球安装的Angular-CLI,因为它与本地安装的Angular-CLI不同,因此可能会导致一些不可预测的行为。您应该将脚本添加到您的package.json
(可能已经有(
package.json
....
"scripts": {
"build": "ng build --prod --aot",
}
当您像此npm run build
一样通过npm
运行此脚本时,它将使用本地安装的Angular-CLI,不会发出警告。
另外,您不应直接使用ng
,因为您可以在计算机中具有不同的角度项目,并且它们都可能取决于不同的Angular-CLI版本。如果您通过ng
构建所有这些,则可能会有一些构建错误。
考虑到这种其他情况,假设您与数百家开发人员一起在一家大公司工作。许多团队也开发角度项目或其他项目,您在公司拥有一台CI机器。每个项目都是在这台机器上构建的。由于您是Web开发人员,因此该机器需要安装npm
。没关系。但是,有些人可能会使用Angular-CLI,有些人可能会使用WebPack或其他一些团队会开发反应,并且需要其他工具。您无法通过npm install -g <insert-tool-here>
在这台共享CI机器上全球安装它们。这将导致团队和许多错误之间的版本不匹配。而且,很难维持所有这些。在这种情况下,每个团队都需要做的是将其工具放置devDependencies
并通过npm scripts
运行。
希望这为您澄清。
我通过使用以下命令
更改Angular CLI版本解决了这个问题npm install --save-dev @angular/cli@1.6.8
检查您的包裹洛克。