How to fix the error “Could not find Angular Material core theme” in Angular 2?

19,873

Solution 1

You have to import a theme into your global css or sass file:

@import "~@angular/material/prebuilt-themes/indigo-pink.css";

or alternatively include it in your index.html file:

<link href="node_modules/@angular/material/prebuilt-themes/indigo-pink.css" rel="stylesheet">

As in the theming documentation already mentioned Angular Material provides the following pre-built themes:

  • deeppurple-amber.css
  • indigo-pink.css
  • pink-bluegrey.css
  • purple-green.css

You have to include one of these themes or you create your own custom theme.

Solution 2

Adding @import to styles.css doesn't work for me, adding theme to angular.json did the trick

You can replace the default angular-material-theme with one of the above-mentioned angular-material-themes using the following ways.

You can directly include the pre-built angular-material-theme in the styles.css file.

@import '@angular/material/prebuilt-themes/deeppurple-amber.css';

Or Add the following inside the head tag of index.html file.

<link href="node_modules/@angular/material/prebuilt-themes/deeppurple-amber.css" rel="stylesheet">

Or Update the following in angular.json file.

"styles": [
{
"input": "node_modules/@angular/material/prebuilt-themes/deeppurple-amber.css"
},
"src/styles.css"
],
Share:
19,873
Alex
Author by

Alex

Updated on June 22, 2022

Comments

  • Alex
    Alex almost 2 years

    I am practically new in Angular2 and inherited the project with Angular 2 frontend. After switching to the new Angular 4.0 on console I see the error:

    "compatibility.ts:221 Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"

    The mdb.min.css is in the app/assets/css folder. The specification in package.json shows the following:

    "@angular/common": "^4.0.0",
    "@angular/compiler": "^4.0.0",
    "@angular/core": "^4.0.0",
    ...
    "angular-bootstrap-md": "*"
    

    How to fix the error?