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

VS Code中ESLint错误不显示且任务Runner报TypeError问题

解决ESLint命令行正常但VS Code无提示+createRequire is not a function错误

我来帮你搞定这个ESLint的问题,你现在遇到两个关联的问题:命令行执行yarn lint正常,但VS Code里看不到ESLint错误提示,同时还抛出TypeError: createRequire is not a function的报错。下面是具体的分析和解决步骤:

错误原因分析

createRequire是Node.js v12.2.0及以上版本才新增的API,而你使用的ESLint 7.x版本依赖这个API。如果本地Node版本低于v12.2.0,就会触发这个错误。另外VS Code的ESLint插件可能使用了不兼容的Node版本,或者项目依赖、配置存在冲突,导致IDE内无法正常加载ESLint。


解决方案

1. 升级Node.js到兼容版本

ESLint 7.x要求Node.js最低为v10.12.0,但createRequire需要v12.2.0+,建议直接升级到Node.js LTS版本(比如v14.x或v16.x),避免版本兼容问题:

如果用nvm管理Node版本(推荐),执行以下命令:

# 安装nvm(未安装的话)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# 安装最新LTS版本
nvm install --lts
# 切换到该版本
nvm use --lts

2. 修复ESLint依赖版本兼容性

你的项目里ESLint是7.1.0,但eslint-config-airbnb是16.1.0,这个版本组合存在兼容性问题。建议更新到适配ESLint 7.x的版本:

# 更新eslint-config-airbnb到兼容版本
yarn add eslint-config-airbnb@18.2.1 --dev
# 同步更新相关插件
yarn add eslint-plugin-import@2.25.4 eslint-plugin-jsx-a11y@6.5.1 eslint-plugin-react@7.28.0 --dev

3. 配置VS Code ESLint插件使用正确的Node版本

VS Code的ESLint插件可能默认使用了系统全局的旧Node版本,导致报错。可以手动指定Node路径:

  1. 打开VS Code设置(快捷键Ctrl+, / Cmd+,)
  2. 搜索ESLint: Node Path,填入你当前使用的Node路径(可以通过which node或where node在终端获取)
  3. 检查工作区的.vscode/settings.json,确保ESLint是启用状态:
    {
      "eslint.enable": true,
      "eslint.validate": ["javascript", "javascriptreact"],
      "eslint.nodePath": "/usr/local/bin/node" // 替换成你的实际Node路径
    }
    
  4. 重启VS Code,或者打开命令面板(Ctrl+Shift+P / Cmd+Shift+P)执行ESLint: Restart ESLint Server

4. 统一ESLint配置来源

你的项目同时存在.eslintrc文件和package.json里的eslintConfig字段,可能导致配置冲突。建议二选一:

  • 删除package.json中的eslintConfig字段,只保留.eslintrc的配置
  • 或者把.eslintrc的内容合并到package.json的eslintConfig中

验证修复

完成以上步骤后:

  • 执行yarn lint确认命令行正常运行无报错
  • 在VS Code中打开一个有ESLint错误的JS文件,检查是否能正常显示红色波浪线提示
  • 查看ESLint任务runner是否不再抛出createRequire错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 20:13:11