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

Angular 8升级至13后执行ng serve遇UnhandledPromiseRejectionWarning报错求助

问题排查与修复方案

这个报错核心原因是有依赖包使用了过时的TypeScript resolveTypeReferenceDirectives API签名,和Angular 13对应的TypeScript版本不兼容,以下是针对性修复步骤:

  • 锁定兼容的TypeScript版本:Angular 13要求TypeScript版本在4.4.2 ~ 4.6.x区间,在package.json中修改TypeScript版本为:

    "typescript": "~4.5.5"
    

    执行npm install(或yarn install)重新安装。

  • 清理依赖缓存与重新安装:

    1. 删除项目根目录下的node_modules文件夹、package-lock.json(或yarn.lock)文件
    2. 执行npm cache clean --force清除npm缓存
    3. 重新执行npm install安装依赖
  • 升级ts-node到兼容版本:旧版ts-node的API调用不符合TS 4.x要求,将ts-node升级到10.x及以上版本(比如10.9.1),修改package.json后重新安装。

  • 排查依赖冲突:执行npm ls typescript查看项目中是否有其他依赖引入了不兼容的TypeScript版本,若有,通过npm dedupe或者在package.json中用对应字段强制统一版本:

    // npm 8+ 用overrides
    "overrides": {
      "typescript": "~4.5.5"
    }
    // yarn 用resolutions
    "resolutions": {
      "typescript": "~4.5.5"
    }
    
  • 检查构建配置:打开angular.json,确认architect.build.options和architect.serve.options中没有自定义的resolveTypeReferenceDirectives相关配置,若有则移除。

  • 排查第三方工具插件:如果项目使用了tsconfig-paths、@ngtools/webpack等工具,检查其版本是否与Angular 13兼容,升级到对应兼容版本,必要时暂时禁用插件验证是否解决问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 08:18:26