Angular12引入MatAccordion后ng2-carouselamos缺失lodash.isequal依赖报错
问题根因
该报错和你引入MatAccordion没有直接关联,只是修改代码触发了Angular ngcc(兼容性编译器)的全量依赖扫描,才暴露了ng2-carouselamos组件本身未声明lodash.isequal依赖的问题。你移除MatAccordion的操作不会修复ng2-carouselamos本身的依赖缺失问题。
解决方法
方案1:安装缺失依赖(推荐,无需修改现有业务逻辑)
直接安装缺失的lodash.isequal依赖包即可,执行命令:npm install lodash.isequal --save
安装完成后删除项目node_modules/.ngcc缓存目录,重启开发服务即可正常运行。
如果执行后报错仍存在,按顺序执行以下操作重置全量依赖:
- 删除
node_modules文件夹 - 删除
package-lock.json文件 - 执行
npm install重新安装所有依赖
方案2:卸载无用依赖
如果你项目中完全没有用到ng2-carouselamos轮播组件,直接卸载该组件即可消除报错,执行命令:npm uninstall ng2-carouselamos --save
卸载完成后删除node_modules/.ngcc缓存目录,重启项目即可。
方案3:跳过ngcc检查
如果你的项目必须使用ng2-carouselamos,且方案1无法解决问题,可以在项目根目录的tsconfig.json中添加配置跳过该包的ngcc编译检查:
{ "angularCompilerOptions": { "skipLibCheck": true, "ngccSkipLibs": ["ng2-carouselamos"] } }
保存配置后重启项目即可。
内容的提问来源于stack exchange,提问作者Rinki Mishra
相关产品推荐
相关产品推荐

