You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular 8迁移至9时遇'export 'Renderer' was not found in '@angular/core'问题

解决Angular 9迁移中"export 'Renderer' was not found in '@angular/core'"的问题

这个报错的核心原因是Angular 9正式移除了Renderer类——它在Angular 8就已经被标记为废弃,官方推荐用Renderer2替代。既然报错出现在node_modules里,说明是你项目依赖的第三方包还在使用已被移除的旧API,重新安装@angular/core没用,得从依赖入手解决:

  • 先定位问题依赖:在项目根目录用搜索工具(比如IDE全局搜索或命令行grep -r "import { Renderer } from '@angular/core'" node_modules/)找出哪个包还在引用Renderer。
  • 更新兼容依赖:找到对应包后,去它的npm页面或官方文档确认是否有支持Angular 9的版本,执行npm update [包名]更新,或者手动修改package.json里的版本号后重新跑npm install。
  • 无兼容版本的替代方案:如果该包没有更新,要么换一个功能类似、支持Angular 9的替代包;如果是内部维护的包,就把里面的Renderer替换成Renderer2:
    • 导入语句改成import { Renderer2 } from '@angular/core'
    • 构造函数注入换成constructor(private renderer: Renderer2)
    • 调整API调用(比如invokeElementMethod这类旧方法要换成Renderer2的对应API,比如直接操作元素属性、用setAttribute等)
  • 清理缓存收尾:更新依赖后,执行npm cache clean --force清理npm缓存,再跑ng clean清理Angular构建缓存,重新安装依赖并构建项目。

内容的提问来源于stack exchange,提问作者Willsonraj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 05:16:09