ng new has stopped working after updating to Angular 6

橙三吉。 提交于 2019-12-18 05:06:44

问题


Today, I updated my angular cli to the latest version and encountered an error that stops me from creating a new Angular project. Following is the error log that I get after executing ng new app-name :

Error: Schematic "ng-new" not found in collection "@schematics/angular".
    at SchematicEngine.createSchematic (C:\Users\xyz\node_modules\@angular\cli\node_modules\@angular-devkit\schematics\src\engine\engine.js:155:23)
    at CollectionImpl.createSchematic (C:\Users\xyz\node_modules\@angular\cli\node_modules\@angular-devkit\schematics\src\engine\collection.js:12:29)
    at NodeWorkflow.execute (C:\Users\xyz\node_modules\@angular\cli\node_modules\@angular-devkit\schematics\tools\workflow\node-workflow.js:70:38)
    at Promise (C:\Users\xyz\node_modules\@angular\cli\models\schematic-command.js:141:22)
    at new Promise (<anonymous>)
    at NewCommand.runSchematic (C:\Users\xyz\node_modules\@angular\cli\models\schematic-command.js:140:16)
    at NewCommand.<anonymous> (C:\Users\xyz\node_modules\@angular\cli\commands\new.js:77:25)
    at Generator.next (<anonymous>)
    at C:\Users\xyz\node_modules\@angular\cli\commands\new.js:7:71
    at new Promise (<anonymous>)

In order to solve the problem myself I have reinstalled angular cli as well as npm more than twice. The versions of packages are as follows:

Package                      Version
------------------------------------------------------
@angular-devkit/architect    0.6.0
@angular-devkit/core         0.6.0
@angular-devkit/schematics   0.6.0
@schematics/angular          0.6.0
@schematics/update           0.6.0
rxjs                         6.1.0
Angular Cli                  6.0.0
Node                         8.11.1
npm                          5.6.0

Any help would be appreciated.

Edit: I ran ng new from the place where the angular global packages are installed and I am able to create an an application from there. Running it from anywhere else, produces error.


回答1:


That happened to me, I thought that was a bug I reported it here, it turned out that I had a folder named node_modules on my home directory!

To make sure this is the same issue with you run following commands

npm ls -g @schematics/angular
npm ls @schematics/angular 

If the output of second command contains

npm ERR! extraneous: @schematics/angular@0.6.0 C:\Users\User\node_modules\@angular\cli\node_modules\@schematics\angular

then most likely you have the same issue as it appears that there is a node_modules folder with both the CLI and an old version of @schematics/angular installed locally (C:\Users\User). Remove this to fix this issue.

Please check if it is the case for you too.




回答2:


I also got this error when I tried to issue, ng new

I later realized it was as a result of issuing "npm install @angular/cli" which created a node_modules folder, in the directory I was working.

Remove "node_modules" folder, and create your project now with "ng new"

Ps. with the angular 6 upgrade, the ng team must specify that you cant just run "npm install @angular/cli" anywhere you want, but only in the newly created project. I think this is a bit unfair to the newbies to angular

Hope this helps




回答3:


I suspect that your upgrade of Angular CLI didn't go well. Try to uninstall and re-install it again:

npm uninstall @angular/cli -g
npm install @angular/cli -g


来源:https://stackoverflow.com/questions/50198408/ng-new-has-stopped-working-after-updating-to-angular-6

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!