Ng Generator does not save components in correct directory
See original GitHub issueBug Report or Feature Request (mark with an x)
- [x] bug report -> please search issues before submitting
- [ ] feature request
Versions.
@angular/cli: 1.0.3 node: 7.10.0 os: darwin x64 @angular/common: 4.1.3 @angular/compiler: 4.1.3 @angular/core: 4.1.3 @angular/forms: 4.1.3 @angular/http: 4.1.3 @angular/platform-browser: 4.1.3 @angular/platform-browser-dynamic: 4.1.3 @angular/router: 4.1.3 @angular/cli: 1.0.3 @angular/compiler-cli: 4.1.3
Repro steps.
ng new my-app
cd my-app/src/app && mkdir components
cd components
ng g component posts
Those are the only steps I took. I didn’t touch the code. I just ran those commands. However, the posts component did not save under the components directory. They were saved in the app directory, even though I was in the components directory when running the generator. I am pretty new to Angular (first day) so I am not sure if that is the expected result or not. I wouldn’t imagine that being the case, though.
The log given by the failure.
No logs.
Desired functionality.
The answer is for both questions. When you are in a specific directory and run ng g component component-name, the generated files should be a child of your current directory via the command line.
Mention any other details that might be useful.
Here’s a screenshot of the file structure.

Issue Analytics
- State:
- Created 6 years ago
- Reactions:1
- Comments:7 (2 by maintainers)

Top Related StackOverflow Question
@sumitarora I don’t accept the behaviour you describe is the default behaviour and if it was the default behaviour, it should not be.
I have been using angular cli since somewhere in the beta program. It has never worked this way. CLI always generates the object (component, service, module etc) in the current directory.
It is would be an absolute pain having to write out the path in full every time. Take an example from my current project, to create a new component in the
supplier-createdirectory, given your approach I would have to writeng g c contract/subcontract/subcontract-edit/subcontract-new/supplier-select/supplier-create/new-component-name.We have NEVER had to do this.
I have always been able to navigate to the directory (in this case `supplier-create’) and type
ng g c new-component-nameI just tried the exact steps described by @iamclaytonray and the result was
Which is exactly what I would expect and indeed hope for.
@iamclaytonray I hope you have worked out by now that you can indeed to what you expected to do. If not, there is something wrong somewhere.
@iamclaytonray - no problems. No need to test it out. I’m quite happy it works. I just didn’t want others coming to this answer and think Angular was harder than it was.