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

Angular项目构建失败:Data path ".builders['app-shell']"缺少必填属性'class'

解决Angular构建报错:Data path ".builders['app-shell']" should have required property 'class'
  • 检查@angular-devkit/build-angular与Angular CLI版本匹配
    Angular CLI和@angular-devkit/build-angular版本必须严格对应,升级Node后很容易出现版本不兼容问题。先查看当前两个包的版本:

    npm list @angular/cli @angular-devkit/build-angular
    

    如果版本不匹配,卸载现有build-angular包,安装和CLI同版本的:

    npm uninstall @angular-devkit/build-angular
    npm install @angular-devkit/build-angular@<你的CLI版本号>
    
  • 清理依赖缓存并重装
    缓存或损坏的依赖文件也可能引发这类错误,执行以下步骤:

    1. 强制清理npm缓存:npm cache clean --force
    2. 删除node_modules文件夹和package-lock.json文件:
      • macOS/Linux:rm -rf node_modules package-lock.json
      • Windows:rmdir /s /q node_modules && del package-lock.json
    3. 重新安装所有依赖:npm install
  • 校验angular.json中的app-shell配置
    打开angular.json文件,找到对应项目的app-shell构建配置,确保builder使用的是官方正确路径@angular-devkit/build-angular:app-shell,示例配置如下:

    "app-shell": {
      "builder": "@angular-devkit/build-angular:app-shell",
      "options": {
        "browserTarget": "你的项目名:build",
        "serverTarget": "你的项目名:server"
      }
    }
    

    如果配置里的builder是自定义或旧版路径,替换成官方的即可。

  • 切换到项目兼容的Node.js版本
    不同Angular版本对Node.js有明确的版本要求,比如Angular 14只支持Node.js 14.15+或16.x,Angular 15要求16.x及以上。可以用Node版本管理器(nvm)切换到对应版本:

    # 安装指定版本
    nvm install <兼容版本号>
    # 切换到该版本
    nvm use <兼容版本号>
    
  • 排查第三方依赖冲突
    部分第三方插件(比如自定义构建器、schematics)可能和新版本Node或Angular不兼容。可以临时移除package.json里的非核心依赖,重装后尝试构建,逐步排查出冲突的依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 00:22:21