Angular 13运行/构建时报Generating browser application bundles failed错误如何解决
错误成因
- 版本不兼容:Angular CLI 13.0.3对TypeScript的版本有严格要求,仅支持4.4.x ~ 4.5.0区间的TypeScript版本,若项目中安装的TypeScript版本超出该范围,会导致@angular/compiler-cli调用TS API时出现参数异常
- Angular依赖版本不一致:若项目中@angular/core、@angular/common、@angular/compiler-cli等核心包的版本号不统一,会触发编译链的调用错误
- M1芯片架构适配问题:若设备上安装的Node.js为x86架构(通过Rosetta转译运行),部分Angular依赖的预编译二进制包和arm64架构不匹配,也会导致该编译API调用异常
解决方案
- 首先验证TypeScript版本是否匹配
执行npm list typescript查看本地项目的TS版本,如果版本不在4.4.x~4.5.0区间,执行以下命令安装适配版本:
npm install typescript@4.4.4 --save-dev
- 统一所有Angular核心依赖版本
打开package.json文件,确认所有@angular开头的依赖包版本均为13.0.3,若存在版本不一致的情况,手动修改后删除node_modules和package-lock.json,重新执行npm install - 适配M1芯片的Node.js环境
卸载当前x86架构的Node.js,安装arm64原生版本的Node.js 16.x(Angular 13推荐的Node版本范围是14.15.x || 16.10.x),安装完成后重新执行依赖安装命令 - 额外验证项:检查项目中是否存在语法错误的装饰器
确认所有@Component、@NgModule等Angular装饰器的写法规范,不存在装饰器缺失参数、参数格式错误的情况,异常的装饰器语法也会触发该编译错误
内容的提问来源于stack exchange,提问作者nszmmp
相关产品推荐
相关产品推荐

