Specified module does not exist Angular 6

Sampath picture Sampath · Jul 20, 2018 · Viewed 11k times · Source

Can you tell me why I cannot use below CLI? It says Specified module does not exist. Same error for both CLI commands.

Note: I have upgraded this app from ng 5 to ng 6. Is that this error due to some issue on upgrading?

ng generate component messages --module=core

ng generate component messages --module=app

enter image description here

app.core.module.ts

export class CoreModule {
  static forRoot(): ModuleWithProviders {
    return {
      ngModule: CoreModule
    };
  }
}

app.module.ts

export class AppModule { }

ng --version

Angular CLI: 6.0.8
Node: 8.11.2
OS: win32 x64
Angular: 6.0.7
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, platform-server, router
... service-worker

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.6.8
@angular-devkit/build-angular     0.6.8
@angular-devkit/build-optimizer   0.6.8
@angular-devkit/core              0.6.8
@angular-devkit/schematics        0.6.8
@angular/cdk                      6.3.2
@angular/cli                      6.0.8
@angular/material                 6.3.2
@angular/tsc-wrapped              0.5.2
@ngtools/webpack                  6.0.8
@schematics/angular               0.6.8
@schematics/update                0.6.8
rxjs                              6.2.1
typescript                        2.7.2
webpack                           4.8.3

package.json

{
  "name": "Abc",
  "version": "0.0.1",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "run-s build:client build:aot build:server",
    "buildclient": "ng build --prod --build-optimizer --app 0",
    "build:aot": "ng build --aot --app 1",
    "build:server": "webpack -p",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e",
    "dev": "ng build --prod =cd dist http-server",
    "build:firebase": "ng build --prod && cp src/manifest_app.json dist && firebase deploy"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "6.0.7",
    "@angular/cdk": "^6.3.2",
    "@angular/common": "6.0.7",
    "@angular/compiler": "6.0.7",
    "@angular/core": "6.0.7",
    "@angular/forms": "6.0.7",
    "@angular/http": "6.0.7",
    "@angular/material": "^6.3.2",
    "@angular/platform-browser": "6.0.7",
    "@angular/platform-browser-dynamic": "6.0.7",
    "@angular/platform-server": "6.0.7",
    "@angular/router": "6.0.7",
    "@angular/service-worker": "6.0.7",
    "@auth0/angular-jwt": "^2.0.0",
    "@cloudinary/angular": "^2.1.1",
    "@jaspero/ng2-confirmations": "^0.3.3",
    "@ng-bootstrap/ng-bootstrap": "^1.0.0-beta.8",
    "@ng-select/ng-select": "^0.36.2",
    "@nguniversal/module-map-ngfactory-loader": "^5.0.0",
    "@types/moment": "^2.13.0",
    "angular2-useful-swiper": "^5.0.1",
    "cloudinary-core": "^2.4.0",
    "core-js": "^2.4.1",
    "hammerjs": "^2.0.8",
    "jquery": "^3.2.1",
    "moment": "^2.20.1",
    "ng-pwa-tools": "0.0.15",
    "ng2-cloudinary": "^0.9.2",
    "ng2-file-upload": "^1.3.0",
    "ng2-img-max": "^2.1.15",
    "ng4-geoautocomplete": "^0.1.0",
    "ng4-loading-spinner": "^1.1.1",
    "ngx-bootstrap": "^2.0.2",
    "ngx-toastr": "^6.5.0",
    "ngx-youtube-player": "^0.1.0",
    "raven-js": "^3.26.3",
    "rxjs": "^6.2.1",
    "rxjs-compat": "^6.2.1",
    "swiper": "^3.4.2",
    "webrtc-adapter": "^6.1.4",
    "zone.js": "^0.8.26"
  },
  "devDependencies": {
    "@angular/cli": "6.0.8",
    "@angular/compiler-cli": "6.0.7",
    "@angular/language-service": "6.0.7",
    "@types/googlemaps": "^3.30.8",
    "@types/jasmine": "~2.5.53",
    "@types/jasminewd2": "~2.0.2",
    "@types/jquery": "^3.2.18",
    "@types/node": "~6.0.60",
    "codelyzer": "~3.2.0",
    "jasmine-core": "~2.6.2",
    "jasmine-spec-reporter": "~4.1.0",
    "karma": "~1.7.0",
    "karma-chrome-launcher": "~2.1.1",
    "karma-cli": "~1.0.1",
    "karma-coverage-istanbul-reporter": "^1.2.1",
    "karma-jasmine": "~1.1.0",
    "karma-jasmine-html-reporter": "^0.2.2",
    "npm-run-all": "^4.1.2",
    "protractor": "~5.1.2",
    "ts-loader": "^3.5.0",
    "ts-node": "~3.2.0",
    "tslint": "~5.7.0",
    "typescript": "2.7.2",
    "webpack-node-externals": "^1.6.0",
    "@angular-devkit/build-angular": "~0.6.8"
  }
}

Answer

Mano picture Mano · Feb 28, 2019

Below code works on latest CLI version.

ng generate component messages --module app.core.module

It doesn't requires .ts

If we want to create new component which points to specified module inside the folder, specify folder path. Folder path should root of app folder.

ng g c ./components/messages/messages --module message.module

Hope this helps.