angular-cli
angular-cli copied to clipboard
Angular CLI v8 `ng new` generates Angular v7 files
π Bug report
Command (mark with an x)
- [x ] new
- [ ] build
- [ ] serve
- [ ] test
- [ ] e2e
- [ ] generate
- [ ] add
- [ ] update
- [ ] lint
- [ ] xi18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc
Is this a regression?
Probably not
Yes, the previous version in which this bug was not present was...Description
A clear and concise description of the problem...The package.json file created with ng new is set to version 7 files instead of version 8 files.
π¬ Minimal Reproduction
- Installed Angular CLI v8.01
- ng new myApp
- Opened the package.json file and the versions are set to 7.x
"dependencies": {
"@angular/animations": "~7.2.0",
"@angular/common": "~7.2.0",
"@angular/compiler": "~7.2.0",
"@angular/core": "~7.2.0",
"@angular/forms": "~7.2.0",
"@angular/platform-browser": "~7.2.0",
"@angular/platform-browser-dynamic": "~7.2.0",
"@angular/router": "~7.2.0",
"core-js": "^2.5.4",
"rxjs": "~6.3.3",
"tslib": "^1.9.0",
"zone.js": "~0.8.26"
},
π₯ Exception or Error
π Your Environment
Angular CLI: 8.0.1
Node: 10.15.0
OS: win32 x64
Angular:
...
Package Version
------------------------------------------------------
@angular-devkit/architect 0.800.1
@angular-devkit/core 8.0.1
@angular-devkit/schematics 8.0.1
@schematics/angular 8.0.1
@schematics/update 0.800.1
rxjs 6.4.0
Anything else relevant?
This issue was resolved by removing an errant node-modules folder. It appears that it invokes the local CLI when one exists and one existed in the node-modules folder.
Suggested change (from Filipe): "We can detect whether or not the command runs in a workspace and that should bound the mechanism for using the local version."
I don't know if this picture is accurate, but what it sounds like is that you were in a directory with a node_modules folder that contained v7 of the Angular CLI and when running ng new myApp it installed Angular v7.
After removing the node_modules folder, and running the command again, npm used the global version of the Angular CLI (v8) and installed v8 of Angular.
If this is accurate, there isn't a bug here, this is just the way node and npm work.
Maybe it's worth outputting a warning message to set clear expectations.
ng new is intended to be a global command. The problem here is that it is also a local command (albeit a non-functional local command if within a workspace).
I have problem where the new project is Angular 6. Global cli is latest.
$ npm list -g --depth=0
/Users/<user>/.nvm/versions/node/v12.4.0/lib
βββ @angular/[email protected]
βββ [email protected]
The directory where I'm using ng new doesn't have any modules installed.
$ npm list
/Users/<user>/code
βββ (empty)
$ ng --version
Angular CLI: 6.0.8
Node: 12.4.0
OS: darwin x64
Angular:
...
Package Version
------------------------------------------------------
@angular-devkit/architect <error>
@angular-devkit/core <error>
@angular-devkit/schematics <error>
@schematics/angular <error>
@schematics/update <error>
rxjs <error>
The directory where using ng new command has a lot other Angular project directories, can it be that ng tries to use @angular/cli from some subdirectory's node_modules?
I just ran into this issue for several hours. I had a node_modules directory in the directory I was running ng new from and didn't realize it. Would definitely be nice to have a warning message.
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.