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

Angular12升13后ng serve/build报错:keyword 'id'需替换为$id

Angular 13升级后"NOT SUPPORTED: keyword 'id'"错误解决办法

问题原因

这个错误源于依赖版本不兼容:你使用的@angular-builders/custom-webpack是11.1.1版本,和Angular13的CLI依赖的ajv版本存在冲突——旧版本的custom-webpack依赖的ajv使用了已被废弃的id关键字,而Angular13要求使用$id。

解决步骤

  1. 升级@angular-builders/custom-webpack到Angular13兼容版本
    执行以下命令安装适配Angular13的版本:

    npm install @angular-builders/custom-webpack@^13.1.0 --save-dev
    

    (注:13.x系列版本均可,建议选择和@angular/cli版本接近的)

  2. 清理依赖并重新安装
    为了彻底解决版本冲突,执行以下操作:

    # 删除node_modules目录
    rm -rf node_modules
    # 删除package-lock.json(若使用yarn则删除yarn.lock)
    rm package-lock.json
    # 重新安装依赖
    npm install
    
  3. 可选:同步其他第三方依赖版本
    检查并升级其他可能存在版本滞后的第三方依赖,比如@angular/flex-layout可以升级到13.x版本:

    npm install @angular/flex-layout@^13.0.0-beta.38 --save
    

完成以上步骤后,重新运行ng serve或ng build即可解决该错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 11:45:33