入职电脑运行pnpm eslint时报错Failed to load native binding问题解决记录

441 阅读1分钟

如题,公司发的电脑之前被重装过系统,项目运行正常,但是git commit时配置的husky钩子运行报错

pnpm vsh code-workspace --auto-commit

pnpm exec lint-staged

echo Run pre-commit hook done.

报错内容

Oops! Something went wrong! :(

ESLint: 9.26.0

Error: Failed to load native binding
    at D:/witlab-lims-pharma-qc/node_modules/.pnpm/unrs-resolver@1.7.2/node_modules/unrs-resolver/index.js:372:11
    at eval_evalModule (D:\witlab-lims-pharma-qc\node_modules\.pnpm\jiti@2.4.2\node_modules\jiti\dist\jiti.cjs:1:196325)
    at D:\witlab-lims-pharma-qc\node_modules\.pnpm\jiti@2.4.2\node_modules\jiti\dist\jiti.cjs:1:194552
    at async import (D:\witlab-lims-pharma-qc\node_modules\.pnpm\jiti@2.4.2\node_modules\jiti\dist\jiti.cjs:1:199772)
    at async D:/witlab-lims-pharma-qc/node_modules/.pnpm/eslint-plugin-import-x@4.11.1_eslint@9.26.0_jiti@2.4.2__typescript@5.8.3/node_modules/eslint-plugin-import-x/lib/node-resolver.js:3:21
    at async import (D:\witlab-lims-pharma-qc\node_modules\.pnpm\jiti@2.4.2\node_modules\jiti\dist\jiti.cjs:1:199772)
    at async D:/witlab-lims-pharma-qc/node_modules/.pnpm/eslint-plugin-import-x@4.11.1_eslint@9.26.0_jiti@2.4.2__typescript@5.8.3/node_modules/eslint-plugin-import-x/lib/index.js:18:21
    at async import (D:\witlab-lims-pharma-qc\node_modules\.pnpm\jiti@2.4.2\node_modules\jiti\dist\jiti.cjs:1:199772)
    at async D:/witlab-lims-pharma-qc/internal/lint-configs/eslint-config/src/configs/import.ts:3:44
    at async import (D:\witlab-lims-pharma-qc\node_modules\.pnpm\jiti@2.4.2\node_modules\jiti\dist\jiti.cjs:1:199772)
PS D:\witlab-lims-pharma-qc> pnpm eslint

排查后排除本地node、npm、依赖的问题,其他同事正常运行,确定是电脑重装后缺失了Windows 编译工具链, 安装官方 Visual Studio 构建工具

  1. 下载 Visual Studio Build Tools

  2. 安装时勾选:

    • "C++ 构建工具"
    • Windows 10/11 SDK
    • MSVC v143 - VS 2022 C++ x64/x86 生成工具

2、在安装界面:

  1. 切换到 工作负载 选项卡

  2. 勾选  "使用 C++ 的桌面开发" (Desktop development with C++)

  3. 在右侧的 安装详细信息 面板中:

    • 确保勾选 MSVC v143 - VS 2022 C++ x64/x86 生成工具

    • 确保勾选 Windows 10/11 SDK(版本号通常为 10.0.20348.0 或更高)

    • 建议额外勾选:

      • C++ ATL 支持
      • C++ MFC 支持
      • C++ 分析工具

安装后重启电脑重新运行项目,commit eslint检测正常运行