Angular with mat-form 无法编译:ngcc 在 parse5@5.1.1 上 运行 失败

Angular with mat-form doesn't compile: ngcc failed to run on parse5@5.1.1

我创建了一个小 mat-form 示例,我无法告诉您为什么会出现编译错误或出了什么问题,因此无法在此处指定,请查看此处:

https://stackblitz.com/edit/angular-ivy-2ummrb

出现的错误:

Error in ~/src/main.ts
ngcc failed to run on parse5@5.1.1.

按照以下步骤操作:

  1. 将节点更新到 here 的最新版本。
  2. tsconfig.json中设置enableIvy: false
  3. 删除node_modulespackage-lock.json
  4. 运行 npm cache clean --force.
  5. 运行 npm install.

我建议您使用 ng update 找出过时的软件包并通过 运行 宁 ng update @package 命令然后 运行 npm update 更新它们也是。

我刚刚发现我的 StackBlitz 项目存在问题。

步骤 1. 在 StackBlitz 中,尽管您将项目设置为启用或禁用 Ivy,但您还必须通过 StackBlitz 项目设置启用或禁用 Ivy。您会在左侧(设置)找到它。如果您这样做了,请重新加载页面。

第 2 步。 如果某些依赖项的版本不能与 StackBlitz 协同工作(StackBlitz 不支持?),您将收到错误消息,例如缺少一个库。即使您在 packages.json 中包含 @angular/core,您也会收到类似 @angular/core is missing.

的消息

在这种情况下,降低版本,也许以前的版本就可以了。

我得到了 Angular 13 的所有这些错误并返回到 Angular 12,一切正常。