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

使用electron-builder构建Electron应用时遇node-gyp文件缺失问题求助

解决electron-builder构建时node-gyp找不到binding.cc的问题

构建Electron应用时遇到node-gyp报错,提示找不到../src/binding.cc,日志如下:

⨯ node-gyp.cmd exited with code ERR_ELECTRON_BUILDER_CANNOT_EXECUTE
Output:
Warning: Missing input files:
C:\Users\%user%\source\repos\electronvueapp\build\..\src\binding.cc
�믮������ ��᫥����⥫쭠� ᡮઠ �஥�⮢ � �⮬ �襭��. �⮡� ������� ��ࠫ������ ᡮ��, ������� ��ࠬ��� "-m".
  binding.cc
c1xx : fatal error C1083: �� 㤠���� ������ 䠩� ���筨�: ..\src\binding.cc: No such file or directory, [C:\Users\%user%\source\repos\electronvueapp\build\binding.vcxproj]

常见的手动创建空binding.cc的方法无效,因为每次构建时build文件夹会被删除重建,文件无法保留。可以尝试以下几种解决方案:

  • 删除不必要的binding.gyp文件:如果你的项目没有用到Native模块,检查项目根目录是否存在binding.gyp,直接删除它,node-gyp就不会触发编译流程,也就不会去找这个文件了。

  • 配置构建前自动生成文件:在package.json的scripts中添加预构建命令,让每次构建前自动在指定路径创建空的binding.cc:
    针对Windows系统:

    "scripts": {
      "prebuild": "if not exist src mkdir src && type nul > src\\binding.cc",
      "build": "electron-builder"
    }
    

    针对Linux/macOS系统:

    "scripts": {
      "prebuild": "mkdir -p ./src && touch ./src/binding.cc",
      "build": "electron-builder"
    }
    

    执行npm run build时,会先执行prebuild命令生成文件,再启动构建。

  • 检查并修复依赖问题:如果是某个第三方依赖自动生成了错误的构建配置,尝试删除node_modules和package-lock.json(或yarn.lock),重新安装依赖;或者升级相关依赖到最新版本,看是否能解决配置错误的问题。

  • 修正binding.gyp的路径配置:如果项目确实需要编译Native模块,打开binding.gyp文件,检查sources字段中是否包含了错误的../src/binding.cc路径,修正为实际存在的文件路径,或者移除这个不存在的条目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 11:40:21