Angular 9.0.7项目报错:BrowserAnimationsModule未被ngcc正确处理或不兼容Ivy
解决Angular 9中BrowserAnimationsModule与Ivy兼容/ngcc处理错误的方案
我之前在Angular 9.0.x版本碰到过完全一样的问题,删node_modules重装确实有时候解决不了,给你几个亲测有效的解决思路:
手动运行ngcc处理依赖
Angular 9默认启用Ivy编译器,ngcc负责把非Ivy的库转换为兼容格式,自动运行时可能因为某些原因没完成处理。你可以试试这个流程:- 删除
node_modules文件夹和package-lock.json(用yarn的话就是yarn.lock) - 重新执行
npm install - 在项目根目录运行命令:
ngcc --properties es2015 browser module main --first-only --create-ivy-entry-points - 重启你的Angular项目(
ng serve)
- 删除
临时禁用Ivy编译器
如果某个依赖库还没适配Ivy,强制启用Ivy就会触发这个错误。你可以在tsconfig.app.json中添加配置禁用Ivy:"angularCompilerOptions": { "enableIvy": false }注意:Angular 9之后官方推荐使用Ivy,这只是临时解决方案,后续最好跟进依赖库的更新。
检查Angular依赖版本一致性
确保package.json中所有@angular/*开头的依赖版本都是9.0.7,尤其是@angular/platform-browser/animations,版本不匹配很容易导致兼容性问题。如果有版本不一致的情况,手动修改为9.0.7后,重新执行npm install。清理npm缓存
有时候本地npm缓存损坏也会导致安装异常,执行以下命令清理缓存后重新安装:npm cache clean --force rm -rf node_modules package-lock.json npm install
内容的提问来源于stack exchange,提问作者MJ X
相关产品推荐
相关产品推荐

