Angular@13从tslint迁移至eslint时遭遇大量依赖错误,求助排查
Angular 13 迁移 ESLint 依赖错误解决指南
一、先确认是否完成官方标准迁移流程
依赖错误大概率是跳过了官方迁移工具的自动处理步骤,直接手动修改配置导致的,先补全以下操作:
- 卸载所有TSLint相关依赖:
npm uninstall tslint tslint-eslint-rules codelyzer --save-dev - 安装Angular官方ESLint套件:
npm install @angular-eslint/schematics --save-dev - 执行自动迁移命令:
该命令会自动替换配置文件(生成ng add @angular-eslint/schematics.eslintrc.json、删除tslint.json)、更新Angular CLI配置,同时处理基础的依赖兼容问题。
二、针对性解决依赖冲突
如果已经执行上述步骤仍报错,按以下方向排查:
- 必须升级@angular/cdk和flex-layout到兼容版本
Angular 13要求这两个包的版本必须为13.x系列,否则会出现依赖不兼容:- 升级@angular/cdk:
npm install @angular/cdk@^13.0.0 --save - 升级@angular/flex-layout:
npm install @angular/flex-layout@^13.0.0-beta.38 --save
- 升级@angular/cdk:
- 彻底清理依赖后重装
仅清理缓存不足以解决问题,执行完整清理流程:- 删除
node_modules文件夹:# Mac/Linux rm -rf node_modules # Windows rmdir /s /q node_modules - 删除
package-lock.json文件 - 强制清理npm缓存:
npm cache clean --force - 重新安装依赖:
npm install
- 删除
- 确保ESLint相关包版本匹配
Angular 13对应的@angular-eslint版本必须为13.x,禁止安装更高版本,可在package.json中确认如下版本范围:
若版本不符,手动指定版本安装:"@angular-eslint/builder": "^13.0.1", "@angular-eslint/eslint-plugin": "^13.0.1", "@angular-eslint/eslint-plugin-template": "^13.0.1", "@angular-eslint/schematics": "^13.0.1", "@angular-eslint/template-parser": "^13.0.1", "@typescript-eslint/eslint-plugin": "^5.10.0", "@typescript-eslint/parser": "^5.10.0", "eslint": "^8.7.0"npm install @angular-eslint/schematics@^13.0.1 eslint@^8.7.0 --save-dev
三、验证迁移效果
执行lint命令确认是否正常工作:
ng lint
内容的提问来源于stack exchange,提问作者Sachin Kumar
相关产品推荐
相关产品推荐

