MatToolbar throws error when using it with Angular 9

AngularAngular Material

Angular Problem Overview


Angular version 9.2.0

When I import the MatToolbarModule in a module and use it in the html template, then I get the following error message:

> This likely means that the library (@angular/material/toolbar) which declares MatToolbarModule has not been processed correctly by ngcc, or is not compatible with Angular Ivy. Check if a newer version of the library is available, and update if so. Also consider checking with the library's authors to see if the library is expected to be compatible with Ivy.

>
8 export declare class MatToolbarModule { ~~~~~~~~~~~~~~~~ src/app/angular-material.module.ts:53:14 - error NG6002: Appears in the NgModule.imports of ComponentsModule, but itself has errors

Does anyone face the same issue?

Angular Solutions


Solution 1 - Angular

Add below specific configuration in package.json and npm install.

{
  "scripts": {
    "postinstall": "ngcc"
  }
}

Reference: https://angular.io/guide/ivy#speeding-up-ngcc-compilation

Solution 2 - Angular

I had the same problem before, its because you modify your app.module.ts file while the server is running. Try to stop it and then run it again using the ng servecommand.

Solution 3 - Angular

This used to happen to me whenever I imported 'MatToolbar' 'MatDialog' instead of 'MatToolbarModule' or 'MatDialogModule'.

Solution 4 - Angular

I faced similar problem with MatDatePicker. The problem was that I had imported MatDatepicker instead of importing MatDatepickerModule in the app.module.ts file.

So, check that you have imported MODULE not Component in your module file.

Solution 5 - Angular

So I was just having a similar issue, and I was able to fix it by rearranging my import modules.

In my case, I was calling LoadingBarRouterModule before the main module LoadingBarModule. Check to see if you are loading the MatToolbarModule module before another required module and move it below that.

Solution 6 - Angular

I found an error in imports section, i've added unexisting item.

import { MatMenuItem } from '@angular/material/menu';

and MatMenut item doesn't exist, i changed in MatMenuModule and after works

Solution 7 - Angular

Maybe the selected answer could not be the correct one because you may want bundle the dependency when you are building the application.

From https://angular.io/guide/ivy#speeding-up-ngcc-compilation > In version 9, the server builder which is used for App shell and > Angular Universal has the bundleDependencies option enabled by > default. If you opt-out of bundling dependencies you will need to run > the standalone Angular compatibility compiler (ngcc).

I'm opting of restarting the server everytime i'm adding a material component into AppModule. But if i'm wrong, please let me know.

Solution 8 - Angular

Here to me was because I forgot import a module.ts, and the console did not show about it. so, I only imported it and the angular worked ok. You can review all your modules.ts if there are some error with imports.

Solution 9 - Angular

I solved it by removing the node_modules and reinstalled it.

Complete discussion here: https://github.com/angular/components/issues/18637

Solution 10 - Angular

I imported some classes(FormControl, FormGroup, Validators) which are not modules in app.module.ts
I removed those classes and it solved my problem.

Solution 11 - Angular

What worked for me is importing the whole module for MatToolbar.

import {MatToolbarModule} from '@angular/material/toolbar'; 

And then adding MatToolbarModule to the imports[] array in my app.module.ts.

Solution 12 - Angular

stop your angular service (if you use command prompt or powershell ctrl + c) and run again(ng serve)

Solution 13 - Angular

For me it was due to unused (or rather broken) ValueAccessors – removing them fixed this.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionLing VuView Question on Stackoverflow
Solution 1 - AngularRakeshView Answer on Stackoverflow
Solution 2 - AngularRamzi BouchairView Answer on Stackoverflow
Solution 3 - AngularChrisOdneyView Answer on Stackoverflow
Solution 4 - AngularGAURAV JOSHIView Answer on Stackoverflow
Solution 5 - AngularAsitha De SilvaView Answer on Stackoverflow
Solution 6 - Angulariugs88View Answer on Stackoverflow
Solution 7 - AngularAndres Camilo Sierra HormigaView Answer on Stackoverflow
Solution 8 - AngularHoiama RodriguesView Answer on Stackoverflow
Solution 9 - AngularLing VuView Answer on Stackoverflow
Solution 10 - Angulartung yuView Answer on Stackoverflow
Solution 11 - AngularNobodySomewhereView Answer on Stackoverflow
Solution 12 - AngularhamedView Answer on Stackoverflow
Solution 13 - AngularNurseiit AView Answer on Stackoverflow