Angular引入PrimeNG TreeModule时出现TS2694错误的解决求助
解决Angular 10.2.5引入PrimeNG模块出现TS2694错误的方案
问题根源
你遇到的TS2694错误,核心原因是Angular版本与PrimeNG版本不兼容:
- 当前使用Angular ~10.2.5,但安装的PrimeNG是^14.0.2
- PrimeNG 14.x是为Angular 14.x开发的,其中用到的
ɵɵNgModuleDeclaration、ɵɵInjectorDeclaration是Angular 12+才新增的内部API,Angular 10中不存在这些成员,因此编译报错。
修复步骤
1. 降级PrimeNG到适配Angular 10的版本
Angular 10对应的PrimeNG兼容版本为10.x,执行以下命令替换依赖:
npm uninstall primeng primeicons npm install primeng@~10.0.0 primeicons@~4.1.0 --save
注:PrimeNG 10.x需搭配primeicons 4.x版本,避免版本不匹配引发其他问题
2. 同步降级Angular CDK版本(可选但建议)
项目中@angular/cdk版本为^14.2.0,同样与Angular 10不兼容,建议同步降级:
npm uninstall @angular/cdk npm install @angular/cdk@~10.2.7 --save
3. 清理依赖并重新构建
rm -rf node_modules package-lock.json npm install ng serve
完成以上步骤后,重新启动项目,引入TreeModule或其他PrimeNG模块即可正常编译运行。
内容的提问来源于stack exchange,提问作者Amin Saeedi
相关产品推荐
相关产品推荐

