更新到 Angular 6 后 Angular material 库出现问题

Issue with Angular material library after updating to Angular 6

当我尝试编译应用程序时,它抛出了这个错误:

ERROR in src/app/app.module.ts(15,5): error TS2304: Cannot find name 'MatToolbarModule'. src/app/app.module.ts(16,5): error TS2304: Cannot find name 'MatSidenavModule'. src/app/app.module.ts(17,5): error TS2304: Cannot find name 'MatButtonModule'. src/app/app.module.ts(18,5): error TS2304: Cannot find name 'MatIconModule'. src/app/app.module.ts(19,5): error TS2304: Cannot find name 'MatListModule'. src/app/app.module.ts(20,5): error TS2304: Cannot find name 'MatMenuModule'. src/app/app.module.ts(21,5): error TS2304: Cannot find name 'AuthModule'. src/app/app.module.ts(22,5): error TS2304: Cannot find name 'AppRoutingModule'. src/app/app.module.ts(24,5): error TS2304: Cannot find name 'MatGridListModule'. src/app/app.module.ts(25,5): error TS2304: Cannot find name 'FlexLayoutModule'.

当我尝试通过 ng add @angular/material 将 material 添加到项目时,它向我显示:

Package "@angular/material" was found but does not support schematics.

有人找到解决方案吗?

Package "@angular/material" was found but does not support schematics.

这基本上意味着 Angular Material 不支持 ng add,您必须等待实现原理图的较新版本。

如果你有它的旧版本,那么你可以使用最新的 CLI 使用 ng update @angular/material。否则,只需遵循 official instructionsnpm install --save @angular/material @angular/cdk

我可以轻松地将 Material 6.0 添加到我的两个项目中(最近更新为 Angular 6)。不过,我还必须更新 Angular CLI(本地和全球)。使用 ng add @angular/material 添加 Material 包后,再次尝试 npm install。应该没问题。

再次安装material后,出现了新的错误,但我在这里找到了答案:。这是地图包装器的兼容性问题。

升级到 angular cli 后,

运行下面命令卸载@angular/material

npm uninstall @angular/material

在此之后 运行 命令

ng add @angular/material

这将解决问题。