WSL2环境下WebStorm运行ESLint提示无法读取tsconfig.json报错求助
问题根因
该报错核心是Windows端WebStorm读取WSL2内项目文件时,路径解析逻辑与WSL内部不匹配导致的,可按以下优先级排查解决:
解决方法
- 修正ESLint配置格式
你此前将配置改为js格式使用__dirname不生效,是因为package.json中配置了"type": "module",.js文件默认按ES模块解析,不存在__dirname变量。
将配置文件重命名为.eslintrc.cjs,强制以CommonJS格式解析,修改parserOptions配置如下:
module.exports = { // 其余原有配置保持不变 parserOptions: { ecmaVersion: 2021, sourceType: "module", project: "./tsconfig.json", tsconfigRootDir: __dirname // 新增该行指定根目录 } }
- 修正WebStorm运行环境配置
- 不要通过Windows端的
\\wsl$网络路径直接打开项目,要在WebStorm的打开窗口中,选择左侧「WSL」分类下对应的Ubuntu发行版,再选择项目目录打开 - 进入WebStorm设置 → 「语言和框架」→ Node.js,将Node.js解释器修改为WSL2内部安装的Node版本,不要使用Windows本地的Node
大小写校验
WSL2环境大小写敏感,Windows环境大小写不敏感,确认项目目录名、tsconfig.json文件名的大小写完全和配置中一致,不存在Tsconfig.json、TSConfig.json这类大小写不一致的命名临时兼容方案
如果暂时不需要TypeScript类型校验规则,可从ESLint配置的extends数组中移除"plugin:@typescript-eslint/recommended-requiring-type-checking",该扩展是触发读取tsconfig.json的核心依赖,移除后即可消除报错(仅建议临时调试用)
验证步骤
先进入WSL2终端,切换到项目目录执行npm run lint:
- 若终端执行无报错,可确定是WebStorm配置问题,优先排查上述第2点
- 若终端执行同样报错,优先排查上述第1、3点
内容的提问来源于stack exchange,提问作者Brother Bill
相关产品推荐
相关产品推荐

