5

今天,我将我的 Angular 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 clinpm两次以上。包的版本如下:

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

4 回答 4

10

这发生在我身上,我以为这是我 在这里报告的一个错误,结果我的主目录上有一个名为 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 和旧版本的 @schemics/angular(C:\Users\User)。删除它以解决此问题。

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

于 2018-05-08T19:55:17.657 回答
3

当我尝试发布时,我也遇到了这个错误,ng new

后来我意识到这是由于发出“npm install @angular/cli”,它在我正在工作的目录中创建了一个 node_modules 文件夹。

删除“node_modules”文件夹,现在使用“ng new”创建您的项目

附言。对于 angular 6 升级,ng 团队必须指定您不能在任何您想要的地方运行“npm install @angular/cli”,而只能在新创建的项目中运行。我认为这对新手来说有点不公平

希望这可以帮助

于 2018-06-14T17:50:38.093 回答
2

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

npm uninstall @angular/cli -g
npm install @angular/cli -g
于 2018-05-06T13:40:08.450 回答
0

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

于 2020-04-03T12:08:37.840 回答