更新到 Angular 6 后,ng new 停止工作 [英] ng new has stopped working after updating to Angular 6
问题描述
今天,我将我的 angular cli 更新到最新版本,但遇到一个错误,阻止我创建新的 Angular 项目.以下是我在执行 ng new app-name
后得到的错误日志:
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>)
为了自己解决这个问题,我重新安装了 angular cli 和 npm 两次以上.包的版本如下:
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
任何帮助将不胜感激.
我从安装 angular 全局包的地方运行 ng new 并且我能够从那里创建一个应用程序.从其他任何地方运行它,会产生错误.
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.
推荐答案
这发生在我身上,我以为是我报告的错误 这里,原来我的主目录中有一个名为 node_modules 的文件夹!
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
那么很可能您遇到了同样的问题,因为似乎有一个 node_modules 文件夹,其中包含 CLI 和本地安装的旧版本 @schematics/angular (C:\Users\User).删除它以解决此问题.
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.
这篇关于更新到 Angular 6 后,ng new 停止工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!