【问题标题】:ng new has stopped working after updating to Angular 6更新到 Angular 6 后,ng new 已停止工作
【发布时间】:2018-10-16 07:51:29
【问题描述】:

今天,我将我的 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 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

任何帮助将不胜感激。

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

【问题讨论】:

  • 我认为它没有更新到 Angular 6。如何更新它?
  • 我按照@YakovFain 的解释做了,但是没有结果。如上所述,Angular Cli 已更新到版本 6。

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


【解决方案1】:

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

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

【讨论】:

  • 我至少做了两次。在卸载和安装之间,我还运行了“npm cache verify”。
  • 在此之后,您可能需要将ng与npm链接:stackoverflow.com/a/47905173/386579
【解决方案2】:

这发生在我身上,我以为这是一个错误我报告了它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)。删除它以解决此问题。

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

【讨论】:

  • 你是对的。主目录中有一个 node_modules 文件夹,删除它可以解决问题。谢谢。
【解决方案3】:

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

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

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

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

希望对你有帮助

【讨论】:

    【解决方案4】:

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

    【讨论】:

      猜你喜欢
      • 2013-08-29
      • 1970-01-01
      • 2020-06-11
      • 2018-10-26
      • 2021-06-01
      • 2016-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多