我正在构建一个预计在Ubuntu 20.xx Linux和Raspberry Pi(运行Raspbian和arch=armv7l)上运行的Electron应用程序,收到以下错误:
...was compiled against a different Node.js version using NODE_MODULE_VERSION 72.
This version of Node.js requires NODE_MODULE_VERSION 82.
我通常在本地将node安装到给定的项目中,这样就可以将node和npm的版本锁定到项目所需的任何版本,而不必太费事。
电子
Native Module Documentation
指示我应该运行
electron-rebuild
获取此版本错误后。
不幸的是,这对我来说有两个问题:
-
-
如果我跑了
npm rebuild
,下一轮
电子重建
成功退出而不重建任何内容(可能是由于缓存命中无效)。
rm -rf node_modules
npm install
electron-rebuild
在调查这个错误时我学到了一些东西:
Launching Electron with:
{
node: '12.16.3',
v8: '8.5.210.26-electron.0',
uv: '1.34.2',
zlib: '1.2.11',
brotli: '1.0.7',
ares: '1.16.0',
modules: '82',
nghttp2: '1.41.0',
napi: '5',
llhttp: '2.0.4',
http_parser: '2.9.3',
openssl: '1.1.0',
icu: '67.1',
unicode: '13.0',
electron: '10.1.5',
chrome: '85.0.4183.121'
}
啊,但是怎么做?
更新:
FWIW,node hid已经为node/Electron的更新版本重写,所以我现在运行Electron v11.0.3和node hid v2.0.0-0。