更新到Angular 6后,ng new已停止工作

时间:2018-05-06 09:55:19

标签: angular angular-cli angular-cli-v6

今天,我将我的角度cli更新到最新版本并遇到一个错误,阻止我创建一个新的Angular项目。以下是执行 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 两次以上。包的版本如下:

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

任何帮助都将不胜感激。

编辑:我从安装了角度全局软件包的地方运行了 ng new ,我可以从那里创建一个应用程序。从其他任何地方运行它都会产生错误。

4 个答案:

答案 0 :(得分:8)

发生在我身上,我认为这是我报告的错误here,原来我的主目录中有一个名为node_modules的文件夹!

要确保执行以下命令时出现同样的问题

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

如果第二个命令的输出包含

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)。删除它以解决此问题。

请检查您是否也是这种情况。

答案 1 :(得分:3)

当我尝试发布新的

时,我也遇到了这个错误

我后来意识到这是因为发布&#34; npm install @ angular / cli&#34;它在我工作的目录中创建了一个node_modules文件夹。

删除&#34; node_modules&#34;文件夹,现在使用&#34; ng new&#34;

创建项目

聚苯乙烯。通过角度6升级,ng团队必须指定你不能运行&#34; npm install @ angular / cli&#34;您想要的任何地方,但仅限于新创建的项目。我认为这对新角色来说有点不公平

希望这有帮助

答案 2 :(得分:2)

我怀疑你对Angular CLI的升级并不顺利。尝试再次卸载并重新安装:

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

答案 3 :(得分:0)

尝试卸载并重新安装: npm ls -g @ schematics /角度 npm ls @ schematics / angular