版本说明
- Node.js: 20.18.3
- Electron: ^32.0.0
- Electron-builder: ^25.1.8
- Node-gyp: ^11.1.0
报错一:⨯ node-gyp failed to rebuild … serialport.cpp warning C4003: 类函数宏的调用“max”参数不足
在使用原生(C/C++)扩展或编译底层模块时,通常需要使用 node-gyp。我在安装了最新版本的 node-gyp 后,仍然遇到了这个错误。导致打包失败的依赖包是 @serialport/bindings-cpp
,关于这个包的错误,资料都没有找到,我就去官网的 Issues碰碰运气看有没有人和我一样。幸运的是,我发现确实有其他人遇到过类似的问题,相关链接是:GitHub Issues。

按照推荐的方法,顺利解决了这个问题。不过,由于我主动修改了 node_modules/@serialport/bindings-cpp/binding.gyp
文件,这意味着每次安装依赖时都需要重复这个修改。为了解决这个问题,可以参考我之前写的这篇文章: 使用 patch-package 技术,通过这项技术来保持修改的持久性。
报错二:⨯ Error: Could not find any Python installation to use
这个错误是因为electron-builder需要使用Python,最后我安装的版本是3.9.9。也可以直接安装 Visual Studio Build Tools ,地址是:https://visualstudio.microsoft.com/zh-hans/thank-you-downloading-visual-studio/?sku=BuildTools 把c++和python都安装上就行。反正我这环境也是稀里糊涂被我配置好了。
ok,打包成功。