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

electron-rebuild未使用正确NODE_MODULE_VERSION问题如何解决

问题根因

编译生成的NODE_MODULE_VERSION为Node14对应的83,而非Electron13.4.0要求的89,核心是electron-rebuild执行时未明确指定目标Electron版本,默认读取了宿主Node v14.16.0的配置进行编译。

修复步骤

1. 更新package.json的编译脚本

给rebuild命令新增指定Electron版本的参数,强制使用对应版本的头文件编译:

{
  "scripts": {
    "rebuild": "electron-rebuild -f -v 13.4.0",
    "test": "echo \"Error: no test specified\" && exit 1"
  }
}

2. 调整Dockerfile配置

修改文件复制顺序和编译命令,保证编译前原生代码已加载,且编译时明确指定目标版本:

FROM node:14-buster-slim

RUN apt-get update
RUN apt-get install -y python3 make libpulse-dev libopus-dev g++

RUN mkdir /build
WORKDIR /build
# 提前复制原生模块代码和package.json
COPY package.json /build/
COPY ./native/ /build/

RUN npm install
# 编译时明确指定Electron版本
RUN ./node_modules/.bin/electron-rebuild -f -v 13.4.0

兜底方案:手动指定node-gyp参数编译

如果上述修改后仍不生效,可直接通过node-gyp指定Electron编译配置:

./node_modules/.bin/node-gyp rebuild --target=13.4.0 --arch=x64 --dist-url=https://electronjs.org/headers
验证逻辑

编译完成后,在Electron运行环境中执行console.log(process.versions.modules)输出应为89,和生成的.node模块版本匹配即可正常加载。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 11:15:00