首页 > 解决方案 > 更新到 Angular 11 后 Ng 服务错误

问题描述

我将 Angular 应用更新为 11

Package                            Version
----------------------------------------------------
@angular-devkit/architect          0.1102.10
@angular-devkit/build-angular      0.1102.10
@angular-devkit/core               11.2.10
@angular-devkit/schematics         11.2.10
@angular/cdk                       11.2.10
@angular/cli                       11.2.10
@angular/material                  11.2.10
@angular/material-moment-adapter   11.2.10
@schematics/angular                11.2.10
@schematics/update                 0.1102.10
rxjs                               6.6.7
typescript                         4.2.4

但是,一旦我尝试做一个 ng serve 我得到以下错误

Error: ./src/main.ts
Module build failed (from ./node_modules/@ngtools/webpack/src/ivy/index.js):
TypeError: angularCompiler.getNextProgram is not a function
    at angularCompiler.analyzeAsync.then

我尝试了 在 npm audit fix angular 10.0.1 后出现错误的建议, 但没有帮助。想知道我是否在这里遗漏了什么。

标签: angular

解决方案


我遇到了完全相同的问题,但我不会禁用常春藤。如果@angular/compiler并且@angular/compiler-cli已经 更新 到 版本12.0.0-rc.0, 你 需要 将 它们 降级 到 最新 的 稳定 版11, 也typescript要 降级 到 版本4.1.5.

这对我有用。

npm install @angular/compiler@^11.2.12 @angular/compiler-cli@^11.2.12 typescript@4.1.5

2021 年 5 月 17 日更新:

v12 版本稳定,已于 2021 年 5 月 13 日由 Angular 正式发布,因此您可以使用官方指南升级到 v12,此错误将得到修复。或者只是您可以使用此命令升级到 v12:

ng update @angular/core@12 @angular/cli@12

如果使用角度材料,您也可以使用此命令对其进行更新:

ng update @angular/material

详细信息可以在提供的链接中找到。


推荐阅读