Angular mat-form示例编译报错:ngcc运行parse5@5.1.1失败
问题描述
我创建了一个简单的mat-form示例,不清楚编译报错的触发原因,也无法定位具体问题点。实际抛出的错误信息如下:
Error in ~/src/main.ts ngcc failed to run on parse5@5.1.1.
原因说明
该错误是Angular Ivy兼容编译器ngcc处理parse5@5.1.1版本时出现了兼容问题,parse5作为通用HTML解析工具,会被Angular Material等相关依赖间接引入,低版本的parse5和部分Angular版本的ngcc工具存在适配缺陷。
解决方案
- 先删除项目根目录下的
node_modules文件夹,以及package-lock.json(npm环境)或yarn.lock(yarn环境)文件,清理历史依赖缓存 - 打开项目的
package.json文件,添加版本强制覆盖配置:
如果你使用npm作为包管理工具,新增overrides字段:
如果你使用yarn作为包管理工具,新增{ "name": "your-project-name", "version": "x.x.x", "overrides": { "parse5": "^6.0.1" } }resolutions字段:{ "name": "your-project-name", "version": "x.x.x", "resolutions": { "parse5": "^6.0.1" } } - 重新执行依赖安装命令:
npm install或yarn install,依赖安装完成后重新启动项目即可正常编译。
内容的提问来源于stack exchange,提问作者Janos Vinceller
相关产品推荐
相关产品推荐

