Angular11迁移TSLint至ESLint报未知选项参数错误
Angular 11 TSLint迁ESLint 未知参数报错解决方案
问题原因
你遇到的unknown option '--remove-tslint-if-no-more-tslint-targets'报错,是因为这个参数是4.x及以上版本@angular-eslint/schematics才新增的配置项,Angular 11仅兼容1.x版本的@angular-eslint工具链,这个版本的迁移原理图根本没有提供该参数,强行携带执行必然报错。
操作步骤
- 移除命令里不存在的参数,直接执行基础迁移命令:
ng g @angular-eslint/schematics:convert-tslint-to-eslint
- 等待命令执行完成,确认以下迁移动作全部自动完成:
- 项目根目录及各项目目录下生成对应ESLint配置文件
angular.json内所有原TSLint的lint目标已替换为ESLint执行逻辑- 项目依赖中已自动添加ESLint、@angular-eslint相关包
- 手动完成原参数预期的TSLint清理工作,不需要依赖参数自动处理:
- 卸载TSLint相关依赖:
npm uninstall tslint codelyzer # 使用yarn的用户执行 yarn remove tslint codelyzer- 全局搜索删除项目内所有残留的
tslint.json文件 - 检查
package.json的scripts字段,删除所有调用tslint的脚本命令
- 执行
ng lint验证ESLint可以正常扫描项目代码,迁移即完成。
注意:不要为了使用该参数强行升级@angular-eslint到高版本,高版本与Angular 11的编译器、构建工具存在严重版本兼容问题,会引发更多依赖冲突、原理图执行失败的问题,手动清理TSLint残留仅需1-2分钟,成本远低于折腾版本兼容。
内容的提问来源于stack exchange,提问作者jslover2020
相关产品推荐
相关产品推荐

