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

Angular14项目执行ng lint触发未处理Promise拒绝错误求助

问题排查:Angular 14 + Node.js 16.13.0执行ng lint触发未处理Promise拒绝错误

可能原因

  • ESLint与Angular CLI版本不兼容:Angular 14对@angular-eslint套件版本有严格匹配要求,依赖版本错位会导致异步流程中出现未捕获的Promise拒绝
  • 自定义ESLint配置/规则有误:比如规则逻辑中返回了被拒绝的Promise却未添加catch处理,或是配置文件存在语法、逻辑错误
  • Node.js版本兼容性问题:Node.js 16.13.0属于早期16.x版本,部分ESLint插件的异步处理逻辑可能与之存在兼容bug

解决步骤

1. 对齐Angular ESLint依赖版本

确保package.json中@angular-eslint系列依赖与Angular 14版本严格匹配,执行以下命令更新:

npm install @angular-eslint/schematics@14.x @angular-eslint/eslint-plugin@14.x @angular-eslint/eslint-plugin-template@14.x @angular-eslint/template-parser@14.x --save-dev

2. 排查并修复ESLint配置

  • 打开项目的ESLint配置文件(通常是.eslintrc.json或.eslintrc.js),检查以下内容:
    • 自定义规则中是否存在未处理的Promise拒绝逻辑
    • 插件导入路径、名称是否正确,有无拼写错误
    • 规则配置是否符合ESLint及Angular ESLint的语法规范
  • 可通过注释部分规则/插件的方式,逐步定位触发错误的配置项

3. 升级Node.js至16.x稳定版

Node.js 16.13.0存在Promise处理相关的已知小问题,建议升级到16.x系列的最新稳定版本(如16.20.2),规避版本兼容风险

4. 清理依赖缓存并重装

rm -rf node_modules package-lock.json
npm install

5. 开启详细日志定位问题

执行lint命令时添加--verbose参数,获取更具体的错误堆栈信息:

ng lint --verbose

验证方式

重新执行ng lint,若错误消失则问题解决;若仍存在,结合详细日志进一步定位具体的规则或依赖冲突点


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 10:48:22