Angular-cli: Specified module does not exist - Angular 6

Created on 20 Jul 2018  路  9Comments  路  Source: angular/angular-cli

- [X] bug report 

Command (mark with an x)

- [ ] new
- [ ] build
- [ ] serve
- [ ] test
- [ ] e2e
- [X] generate
- [ ] add
- [ ] update
- [ ] lint
- [ ] xi18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc

Versions

node --version
v8.11.2

npm --version
5.6.0

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

Repro steps

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 this error due to some issue on upgrading? My project is working fine when I used ng serve and ng build --prod --aot. If I create a new project and then use below cmd then it is working fine. I have this problem with my current project. Any clue?

Note 2: If I use ng g module Core then it creates app/core folder inside the e2e folder. Really weird. Any clue? This is also on my current project. No issues if I created a brand new project.

ng generate component messages --module=core

ng generate component messages --module=app

Image

Desired functionality

I need to create a component on app/messages path.

Mention any other details that might be useful

StackOverflow link: https://goo.gl/4X4grB

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"
  }
}
angulacli more info

Most helpful comment

Also works the other way round:

ng g c MyComponent --module=../app

So path is either relative to the current working directory. That's not helpful when specifying the default module path in angular.json.

All 9 comments

same issue here. all new components generated via cli are generated in e2e folder - and only if used with --skip-import flag. without the flag there is an error about missing module.

Any feedback for this? @filipesilva

@Sampath-Lokuge I believe there have been some related fixes between your version (6.0.8) and the current version (6.1.1) that may have already addressed this issue. If this fixed your issue, please close this issue with a comment, if not please post the contents of your angular.json as that will help us determine what is going on here.

update to 6.1.1 resolved this issue

Ok sure. I'll update the project and will let you know. @Brocco

Hi there,

I updated to latest packages but nog result. Finally I found a different way to do this. Start generating components from the src/app root directory and add the needed directories before your componentname, This works like a charm in my case

ng g c components/[componentname] --module=app

Also works the other way round:

ng g c MyComponent --module=../app

So path is either relative to the current working directory. That's not helpful when specifying the default module path in angular.json.

Closing as no further feedback was received

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

_This action has been performed automatically by a bot._

Was this page helpful?
0 / 5 - 0 ratings