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

Angular 6中TSLint重复输出所有警告与错误问题求助

解决Angular 6升级后TSLint错误/警告重复输出的问题

我之前帮团队把项目升级到Angular 6的时候,完完全全碰到过和你一模一样的问题——每一条TSLint错误都被打印两遍,当时看着终端里的重复信息头都大了!结合你的版本信息(TSLint 5.10.0、Angular CLI 6.0.0、TypeScript 2.7.2、Codelyzer 4.3.0),大概率是依赖版本兼容冲突或者Angular CLI的lint配置重复触发检查导致的,给你几个亲测有效的解决办法:


1. 修复依赖版本不匹配问题

Angular 6对Codelyzer和TSLint的版本有明确的兼容要求,你当前用的Codelyzer 4.3.0和TSLint 5.10.0组合可能存在重复触发检查的bug。建议卸载现有依赖后重新安装匹配版本:

# 先卸载旧版本
npm uninstall tslint codelyzer --save-dev
# 安装Angular 6官方推荐的兼容版本
npm install tslint@5.12.1 codelyzer@4.5.0 --save-dev

2. 检查angular.json中的lint配置是否重复

Angular 6开始用angular.json替代了旧的.angular-cli.json,如果迁移过程中配置没处理好,很可能出现重复的lint任务配置。打开你的angular.json,找到projects下对应项目的architect节点,确保只有一个lint配置项,示例如下:

"lint": {
  "builder": "@angular-devkit/build-angular:tslint",
  "options": {
    "tsConfig": ["src/tsconfig.app.json", "src/tsconfig.spec.json"],
    "exclude": ["**/node_modules/**"]
  }
}

如果发现多个lint节点,删掉多余的即可。

3. 清理缓存与重新安装依赖

有时候残留的缓存或损坏的node_modules也会导致这类奇怪的问题,执行以下命令彻底清理:

# 删除依赖包和锁文件
rm -rf node_modules package-lock.json
# 重新安装依赖
npm install
# 清理npm缓存
npm cache clean --force

4. 排查VS Code插件的干扰

如果你用VS Code开发,还要检查TSLint插件是否和Angular CLI的lint命令冲突。可以临时禁用VS Code的TSLint插件,然后运行ng lint看看错误是否还重复输出。如果问题消失,建议把插件更新到最新版本,或者调整插件设置(比如关闭tslint.autoFixOnSave避免自动触发检查)。


按照上面的步骤操作后,再运行ng lint应该就能看到正常的、不重复的错误输出了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 07:00:06