Repository navigation
Creating a project with existing directory => impossible? #9655
Description
Versions
ng --version: 1.7.0
npm --version: 5.0.3
node --version: v6.9.5
OS: Windows 10, 64-bit
Repro steps
- Create a new project folder:
$ mkdir test - Switch into the folder:
$ cd test - Install angular-cli:
$ npm install -g @angular/cli - Try to create a new angular project with the currenct directory:
$ ng new appName --directory ./
The last step is nowhere officially documented, however, multiple GitHub-issues linked to this, including:
- Adding angular-cli to existing project? On using ng init #755
- Provide a way to generate a new project in an existing directory #5431
In lack of a documented possibility to create an angular project in an existing directory, I used the above solution.
Observed behavior
Error: Schematic input does not validate against the Schema: {"directory":"./","name":"appName","skipGit":false,"style":"css","version":"1.7.0","commit":{"message":"chore: initial commit from @angular/cli\n\n _ _ ____ _ ___\n / \\ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|\n / △ \\ | '_ \\ / _\\` | | | | |/ _\\` | '__| | | | | | |\n / ___ \\| | | | (_| | |_| | | (_| | | | |___| |___ | |\n/_/ \\_\\_| |_|\\__, |\\__,_|_|\\__,_|_| \\____|_____|___|\n |___/\n","name":"Angular CLI","email":"angular-cli@angular.io"},"path":"app","sourceDir":"src","inlineStyle":false,"inlineTemplate":false,"routing":false,"prefix":"app","skipTests":false,"skipInstall":false,"linkCli":false,"minimal":false,"serviceWorker":false}
Errors:
.directory should match format "path"
Schematic input does not validate against the Schema: {"directory":"./","name":"appName","skipGit":false,"style":"css","version":"1.7.0","commit":{"message":"chore: initial commit from @angular/cli\n\n _ _ ____ _ ___\n / \\ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|\n / △ \\ | '_ \\ / _\\` | | | | |/ _\\` | '__| | | | | | |\n / ___ \\| | | | (_| | |_| | | (_| | | | |___| |___ | |\n/_/ \\_\\_| |_|\\__, |\\__,_|_|\\__,_|_| \\____|_____|___|\n |___/\n","name":"Angular CLI","email":"angular-cli@angular.io"},"path":"app","sourceDir":"src","inlineStyle":false,"inlineTemplate":false,"routing":false,"prefix":"app","skipTests":false,"skipInstall":false,"linkCli":false,"minimal":false,"serviceWorker":false}
Errors:
.directory should match format "path"
(Yes, the command results in exactly above output - the error message is repeated twice)
Desired behavior
I would expect that angular generates files for a project in the folder, and of course no error message resulting. The files should be located directly in the "test"-folder and not be placed in a subfolder, e.g. "test/appName".
Mention any other details that might be useful (optional)
Using an absolute path instead of a relatively one (in the ng new command) does not change anything, apart from the path-contents of the error message.
Using the command like $ ng new appName --directory . (without the / in the directory path) results in the same error.
Trying to reference the directory from itself by relative path (used as possible workaround) fails with a new error message:
$ mkdir test
$ cd test
$ ng new appName --directory "../test"
Error: Path "/../test" is invalid.
Path "/../test" is invalid.
If there is any other information I might help you with, please tell me.
Workaround
The same result can be achieved by changing into the parent directory and commanding angular to create the app in the sub-directory:
$ mkdir test
$ ng new appName --directory "test"
Activity
yelfeng commentedon Feb 28, 2018
I have the same issue with @aslthiago .
stiofand commentedon Mar 1, 2018
same as @aslthiago here in IntellijIdea
shalk commentedon Mar 1, 2018
ng-cli version 1.7.1
node version 8.9.4 LTS
the same issue when i using Intelli IDEA to create angular project
D:\bin\nodejs\node.exe C:\Users\shalk\AppData\Roaming\npm\node_modules\@angular\cli\bin\ng new first-app --dir=. Error: Schematic input does not validate against the Schema: {"directory":".","name":"first-app","skipGit":false,"style":"css","version":"1.7.1","commit":{"message":"chore: initial commit from @angular/cli\n\n _ _ ____ _ ___\n / \\ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|\n / △ \\ | '_ \\ / _\\| | | | |/ _\| '__| | | | | | |\n / ___ \\| | | | (_| | |_| | | (_| | | | |___| |___ | |\n/_/ \\_\\_| |_|\\__, |\\__,_|_|\\__,_|_| \\____|_____|___|\n |___/\n","name":"Angular CLI","email":"angular-cli@angular.io"},"path":"app","sourceDir":"src","inlineStyle":false,"inlineTemplate":false,"routing":false,"prefix":"app","skipTests":false,"skipInstall":false,"linkCli":false,"minimal":false,"serviceWorker":false} Schematic input does not validate against the Schema: {"directory":".","name":"first-app","skipGit":false,"style":"css","version":"1.7.1","commit":{"message":"chore: initial commit from @angular/cli\n\n _ _ ____ _ ___\n / \\ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|\n / △ \\ | '_ \\ / _\\| | | | |/ _\| '__| | | | | | |\n / ___ \\| | | | (_| | |_| | | (_| | | | |___| |___ | |\n/_/ \\_\\_| |_|\\__, |\\__,_|_|\\__,_|_| \\____|_____|___|\n |___/\n","name":"Angular CLI","email":"angular-cli@angular.io"},"path":"app","sourceDir":"src","inlineStyle":false,"inlineTemplate":false,"routing":false,"prefix":"app","skipTests":false,"skipInstall":false,"linkCli":false,"minimal":false,"serviceWorker":false} Errors: Errors: .directory should match format "path" .directory should match format "path" Donejacsonlinux commentedon Mar 2, 2018
Webstorm 2017.3.4
Angular CLI: 1.7.2
Node: 9.7.0
OS: linux x64
/usr/bin/node /usr/lib/node_modules/@angular/cli/bin/ng new untitled --dir=.
Error: Schematic input does not validate against the Schema: {"directory":".","name":"untitled","skipGit":false,"style":"css","version":"1.7.2","commit":{"message":"chore: initial commit from @angular/cli\n\n _ _ ____ _ \n / \ _ __ __ _ _ | | __ _ _ __ / | | | |\n / △ \ | ' \ / _\
| | | | |/ _\\| '| | | | | | |\n / ___ \| | | | (| | || | | (| | | | || |_ | |\n// \\| ||\, |\,||\,|| \____|||\n |/\n","name":"Angular CLI","email":"angular-cli@angular.io"},"path":"app","sourceDir":"src","inlineStyle":false,"inlineTemplate":false,"routing":false,"prefix":"app","skipTests":false,"skipInstall":false,"linkCli":false,"minimal":false,"serviceWorker":false}Errors:
.directory should match format "path"
Schematic input does not validate against the Schema: {"directory":".","name":"untitled","skipGit":false,"style":"css","version":"1.7.2","commit":{"message":"chore: initial commit from @angular/cli\n\n _ _ ____ _ \n / \ _ __ __ _ _ | | __ _ _ __ / | | | |\n / △ \ | ' \ / _\
| | | | |/ _\\| '| | | | | | |\n / ___ \| | | | (| | || | | (| | | | || |__ | |\n// \\| ||\, |\,||\,|| \____|||\n |___/\n","name":"Angular CLI","email":"angular-cli@angular.io"},"path":"app","sourceDir":"src","inlineStyle":false,"inlineTemplate":false,"routing":false,"prefix":"app","skipTests":false,"skipInstall":false,"linkCli":false,"minimal":false,"serviceWorker":false}Errors:
.directory should match format "path"
Done
F0rt1s commentedon Mar 2, 2018
Angular 6.0.0 beta 4 is also failing with this.
jmussman commentedon Mar 4, 2018
SargTeX: You labeled this issue as a feature request, but it's definitely a bug. Or a feature that someone thought we needed, but is impeding a significant number of people. Can you relabel as a bug, and maybe freq:high so that someone will notice and address it?
prigara commentedon Mar 5, 2018
Hi @clydin, @Brocco, @hansl!
As @denofevil has already mentioned in his comment, due to the path validation issue it is now impossible to create a new Angular project in WebStorm and other JetBrains IDEs using Angular CLI 1.7.0. The IDE creates a project directory first and only then runs angular-cli in it – that is something we can’t easily change.
What can be done to solve the issue?
We really hope that it would be possible again to create Angular projects in WebStorm.
Thanks!
darrenmothersele commentedon Mar 8, 2018
I've upgrade from Angular CLI 1.6.8 to Angular CLI: 1.7.3 this morning.
I can no longer create projects, in WebStorm, using this in the terminal:
ng new --minimal --directory=. exampleappsame error as #issuecomment-369788392 above
darrenmothersele commentedon Mar 9, 2018
A work around to use the Angular CLI to generate projects in WebStorm (and other JetBrains IDEs) is to create an empty project, open terminal and cd to parent directory, then run
where DIR_NAME is the project you created, then cd back into the folder and continue to use WebStorm as usual.
jmussman commentedon Mar 9, 2018
That isn't a solution if you cannot install the command globally, and in a lot of locked-down development environments you can't. Besides, there are a lot of other good reasons you should not install it globally. When the instructions tell you to do so, they are assuming that you only want one version of the command on your computer, and that does not happen in large organizations.
darrenmothersele commentedon Mar 9, 2018
@jmussman I don't think the bug being reported here (inability to use
--directory=.) is dependent on if you havenginstalling globally or not. So my advice converts to however you're running theng newcommand without installing globally.jmussman commentedon Mar 9, 2018
ratracegrad commentedon May 6, 2018
ng --version: 6.0.0
npm --version: 5.6.0
node --version: v8.11.1
OS: Mac OS High Sierra 10.13.4, 64-bit
Repro steps
Observed behavior
Schematic input does not validate against the Schema: {"name":"ng-md-01","version":"6.0.0","newProjectRoot":"projects","skipInstall":false,"linkCli":false,"skipGit":false,"commit":null}
Errors:
Data path ".name" should match format "html-selector".
Desired behavior
Angular CLI should have created the directory ng-md-01 and then template out a new application.
#Also failed with this command
Able to succeed with this
ng new md-intro
Possible problem
The use of numbers in name of application??
nalangekrushna commentedon May 25, 2018
seems like downgrading to 1.6.8 is solution for now
use this commnads to do this.
npm uninstall -g @angular/cli
npm cache clean --force
npm install -g @angular/cli@1.6.8
maungnthan commentedon Jun 16, 2018
Do not use any number in the application name.
ng new latest-app (This works fine)
ng new 60-app (This will fail with below error)
Schematic input does not validate against the Schema: {"name":"60-app","version":"6.0.8","newProjectRoot":"projects","skipInstall":false,"linkCli":false,"skipGit":false,"commit":null}
Errors:
Data path ".name" should match format "html-selector".
kay17 commentedon Jun 19, 2018
I could resolve the error by changing
ng new test_essentials
to
ng new essentials
Apart from numbers in the name, apparently an underscore is not accepted either
NDMCreative commentedon Jul 17, 2018
ng new does not like the underscore " _ " so test_essentials should be put down as testEssentials
arledesma commentedon Jul 31, 2018
This functionality is also hit and miss across all 6.x versions
Tested with the following:
versions and output
output:
$ ng new ngCli600 --directory=./ -d Schematic input does not validate against the Schema: {"dryRun":true,"directory":"./","skipGit":true,"version":"6.0.0","skipInstall":false,"linkCli":false,"commit":true,"newProjectRoot":"projects","inlineStyle":false,"inlineTemplate":false,"routing":false,"prefix":"app","style":"css","skipTests":false} Errors: Data path ".directory" should match format "path".output:
$ ng new ngCli601 --directory=./ -d Schematic input does not validate against the Schema: {"dryRun":true,"directory":"./","skipGit":true,"version":"6.0.1","skipInstall":false,"linkCli":false,"commit":true,"newProjectRoot":"projects","inlineStyle":false,"inlineTemplate":false,"routing":false,"prefix":"app","style":"css","skipTests":false} Errors: Data path ".directory" should match format "path".output:
$ ng new ngCli602 --directory=./ -d CREATE README.md (1025 bytes) CREATE angular.json (3420 bytes) CREATE package.json (1313 bytes) CREATE tsconfig.json (384 bytes) CREATE tslint.json (2805 bytes) CREATE .editorconfig (245 bytes) CREATE .gitignore (503 bytes) CREATE src/environments/environment.prod.ts (51 bytes) CREATE src/environments/environment.ts (631 bytes) CREATE src/favicon.ico (5430 bytes) CREATE src/index.html (295 bytes) CREATE src/main.ts (370 bytes) CREATE src/polyfills.ts (3194 bytes) CREATE src/test.ts (642 bytes) CREATE src/assets/.gitkeep (0 bytes) CREATE src/styles.css (80 bytes) CREATE src/browserslist (375 bytes) CREATE src/karma.conf.js (964 bytes) CREATE src/tsconfig.app.json (194 bytes) CREATE src/tsconfig.spec.json (282 bytes) CREATE src/tslint.json (314 bytes) CREATE src/app/app.module.ts (314 bytes) CREATE src/app/app.component.css (0 bytes) CREATE src/app/app.component.html (1141 bytes) CREATE src/app/app.component.spec.ts (986 bytes) CREATE src/app/app.component.ts (207 bytes) CREATE e2e/protractor.conf.js (752 bytes) CREATE e2e/src/app.e2e-spec.ts (299 bytes) CREATE e2e/src/app.po.ts (208 bytes) CREATE e2e/tsconfig.e2e.json (213 bytes) NOTE: Run with "dry run" no changes were made.output:
$ ng new ngCli603 --directory=./ -d CREATE README.md (1025 bytes) CREATE angular.json (3420 bytes) CREATE package.json (1313 bytes) CREATE tsconfig.json (384 bytes) CREATE tslint.json (2805 bytes) CREATE .editorconfig (245 bytes) CREATE .gitignore (503 bytes) CREATE src/environments/environment.prod.ts (51 bytes) CREATE src/environments/environment.ts (631 bytes) CREATE src/favicon.ico (5430 bytes) CREATE src/index.html (295 bytes) CREATE src/main.ts (370 bytes) CREATE src/polyfills.ts (3194 bytes) CREATE src/test.ts (642 bytes) CREATE src/assets/.gitkeep (0 bytes) CREATE src/styles.css (80 bytes) CREATE src/browserslist (375 bytes) CREATE src/karma.conf.js (964 bytes) CREATE src/tsconfig.app.json (194 bytes) CREATE src/tsconfig.spec.json (282 bytes) CREATE src/tslint.json (314 bytes) CREATE src/app/app.module.ts (314 bytes) CREATE src/app/app.component.css (0 bytes) CREATE src/app/app.component.html (1141 bytes) CREATE src/app/app.component.spec.ts (991 bytes) CREATE src/app/app.component.ts (207 bytes) CREATE e2e/protractor.conf.js (752 bytes) CREATE e2e/src/app.e2e-spec.ts (299 bytes) CREATE e2e/src/app.po.ts (208 bytes) CREATE e2e/tsconfig.e2e.json (213 bytes) NOTE: Run with "dry run" no changes were made.output:
$ ng new ngCli604 --directory=./ -d Schematic input does not validate against the Schema: {"dryRun":true,"directory":"./","skipGit":true,"version":"6.0.4","skipInstall":false,"linkCli":false,"commit":true,"newProjectRoot":"projects","inlineStyle":false,"inlineTemplate":false,"routing":false,"prefix":"app","style":"css","skipTests":false} Errors: Data path "" should NOT have additional properties(dryRun).output:
$ ng new ngCli605 --directory=./ -d CREATE README.md (1025 bytes) CREATE angular.json (3420 bytes) CREATE package.json (1313 bytes) CREATE tsconfig.json (384 bytes) CREATE tslint.json (2805 bytes) CREATE .editorconfig (245 bytes) CREATE .gitignore (503 bytes) CREATE src/environments/environment.prod.ts (51 bytes) CREATE src/environments/environment.ts (631 bytes) CREATE src/favicon.ico (5430 bytes) CREATE src/index.html (295 bytes) CREATE src/main.ts (370 bytes) CREATE src/polyfills.ts (3194 bytes) CREATE src/test.ts (642 bytes) CREATE src/assets/.gitkeep (0 bytes) CREATE src/styles.css (80 bytes) CREATE src/browserslist (375 bytes) CREATE src/karma.conf.js (964 bytes) CREATE src/tsconfig.app.json (194 bytes) CREATE src/tsconfig.spec.json (282 bytes) CREATE src/tslint.json (314 bytes) CREATE src/app/app.module.ts (314 bytes) CREATE src/app/app.component.css (0 bytes) CREATE src/app/app.component.html (1141 bytes) CREATE src/app/app.component.spec.ts (991 bytes) CREATE src/app/app.component.ts (207 bytes) CREATE e2e/protractor.conf.js (752 bytes) CREATE e2e/src/app.e2e-spec.ts (299 bytes) CREATE e2e/src/app.po.ts (208 bytes) CREATE e2e/tsconfig.e2e.json (213 bytes) NOTE: Run with "dry run" no changes were made.output:
$ ng new ngCli607 --directory=./ -d CREATE README.md (1025 bytes) CREATE angular.json (3566 bytes) CREATE package.json (1313 bytes) CREATE tsconfig.json (384 bytes) CREATE tslint.json (2805 bytes) CREATE .editorconfig (245 bytes) CREATE .gitignore (503 bytes) CREATE src/environments/environment.prod.ts (51 bytes) CREATE src/environments/environment.ts (631 bytes) CREATE src/favicon.ico (5430 bytes) CREATE src/index.html (295 bytes) CREATE src/main.ts (370 bytes) CREATE src/polyfills.ts (3194 bytes) CREATE src/test.ts (642 bytes) CREATE src/assets/.gitkeep (0 bytes) CREATE src/styles.css (80 bytes) CREATE src/browserslist (375 bytes) CREATE src/karma.conf.js (964 bytes) CREATE src/tsconfig.app.json (194 bytes) CREATE src/tsconfig.spec.json (282 bytes) CREATE src/tslint.json (314 bytes) CREATE src/app/app.module.ts (314 bytes) CREATE src/app/app.component.css (0 bytes) CREATE src/app/app.component.html (1141 bytes) CREATE src/app/app.component.spec.ts (991 bytes) CREATE src/app/app.component.ts (207 bytes) CREATE e2e/protractor.conf.js (752 bytes) CREATE e2e/src/app.e2e-spec.ts (304 bytes) CREATE e2e/src/app.po.ts (208 bytes) CREATE e2e/tsconfig.e2e.json (213 bytes) NOTE: Run with "dry run" no changes were made.output:
$ ng new ngCli608 --directory=./ -d CREATE README.md (1025 bytes) CREATE angular.json (3566 bytes) CREATE package.json (1313 bytes) CREATE tsconfig.json (384 bytes) CREATE tslint.json (2805 bytes) CREATE .editorconfig (245 bytes) CREATE .gitignore (503 bytes) CREATE src/environments/environment.prod.ts (51 bytes) CREATE src/environments/environment.ts (631 bytes) CREATE src/favicon.ico (5430 bytes) CREATE src/index.html (295 bytes) CREATE src/main.ts (370 bytes) CREATE src/polyfills.ts (3194 bytes) CREATE src/test.ts (642 bytes) CREATE src/assets/.gitkeep (0 bytes) CREATE src/styles.css (80 bytes) CREATE src/browserslist (375 bytes) CREATE src/karma.conf.js (964 bytes) CREATE src/tsconfig.app.json (194 bytes) CREATE src/tsconfig.spec.json (282 bytes) CREATE src/tslint.json (314 bytes) CREATE src/app/app.module.ts (314 bytes) CREATE src/app/app.component.css (0 bytes) CREATE src/app/app.component.html (1141 bytes) CREATE src/app/app.component.spec.ts (991 bytes) CREATE src/app/app.component.ts (207 bytes) CREATE e2e/protractor.conf.js (752 bytes) CREATE e2e/src/app.e2e-spec.ts (304 bytes) CREATE e2e/src/app.po.ts (208 bytes) CREATE e2e/tsconfig.e2e.json (213 bytes) NOTE: Run with "dry run" no changes were made.output:
$ ng new ngCli610 --directory=./ -d Path "/README.md" already exist.output:
$ ng new ngCli611 --directory=./ -d Path "/README.md" already exist.HASSAANALVI20 commentedon Aug 14, 2018
please help angular 5 project not create using ng new myapp .project stop successfully initialized git
Parth7030 commentedon Nov 28, 2022
With Latest angular version I guess from V12 you can use:
ng generate application <name> [options]alan-agius4 commentedon Aug 28, 2026
Thanks for reporting this issue. Please update to the most recent version to resolve the problem.
If the problem persists in your application after upgrading, please open a new issue, provide a simple repository reproducing the problem, and describe the difference between the expected and current behavior. You can use
ng new repro-appto create a new project where you reproduce the problem.angular-automatic-lock-bot commentedon Oct 20, 2026
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.