Pankaj Parkar
Pankaj Parkar

Reputation: 136144

Schematic "materialDashboard" not found in collection "@angular/material"

I was trying to create a dashboard using the following command:

ng generate @angular/material:materialDashboard --name myDashboard

When I executed the command, it resulted in an error:

Schematic "materialDashboard" not found in collection
"@angular/material". Error: Schematic "materialDashboard" not found in
collection "@angular/material".
  at SchematicEngine.createSchematic (/Users/xyx/Desktop/Git/question-authoring-platform/node_modules/@angular-devkit/schematics/src/engine/engine.js:155:23)
  at CollectionImpl.createSchematic (/Users/xyx/Desktop/Git/question-authoring-platform/node_modules/@angular-devkit/schematics/src/engine/collection.js:12:29)
  at Object.getSchematic (/Users/xyx/Desktop/Git/question-authoring-platform/node_modules/@angular/cli/utilities/schematics.js:36:23)
  at GenerateCommand.getOptions (/Users/xyx/Desktop/Git/question-authoring-platform/node_modules/@angular/cli/models/schematic-command.js:194:40)
  at GenerateCommand.<anonymous> (/Users/xyx/Desktop/Git/question-authoring-platform/node_modules/@angular/cli/commands/generate.js:38:53)
  at Generator.next (<anonymous>)
  at /Users/xyx/Desktop/Git/question-authoring-platform/node_modules/@angular/cli/commands/generate.js:7:71
  at new Promise (<anonymous>)
  at __awaiter (/Users/xyx/Desktop/Git/question-authoring-platform/node_modules/@angular/cli/commands/generate.js:3:12)
  at GenerateCommand.initialize (/Users/xyx/Desktop/Git/question-authoring-platform/node_modules/@angular/cli/commands/generate.js:30:16)

Even I tried for other commands for myTable and matNavbar

ng generate @angular/material:materialNavbar --name matNavbar
ng generate @angular/material:materialTable --name myTable

The same error happened with the above two commands. Am I missing something?

Upvotes: 15

Views: 9020

Answers (3)

Pankaj Parkar
Pankaj Parkar

Reputation: 136144

Investigation turns out that the commands aliases for generation of materialShell, materialDashboard, materialNav and materialTable were removed from schematics/collection.json of @angular/material. Rather while using it you can only use kebab case form of them.

materialShell => material-shell
materialDashboard => material-dashboard
materialNav => material-nav
materialTable => material-table

Commit Here

So rather than using older command like this

ng generate @angular/material:materialNav --name my-navbar

use

ng generate @angular/material:material-nav --name my-navbar

Upvotes: 50

Aleksey K.
Aleksey K.

Reputation: 121

You can install it using:
ng generate @angular/material:dashboard --name myDashboard

For other components it will be:
ng generate @angular/material:nav --name myNav
ng generate @angular/material:table --name myTable

Info about other s
/node_modules/@angular/material/schematics/collection.json

Upvotes: 4

Pier Nodoyuna
Pier Nodoyuna

Reputation: 61

In the official documentation

Install Schematics

ng add @angular/material

Generator Schematics

Navigation Schematic

ng generate @angular/material:material-nav --name <component-name>

Dashboard Schematic

ng generate @angular/material:material-dashboard --name <component-name>

Table Schematic

ng generate @angular/material:material-table --name <component-name>

Upvotes: 6

Related Questions