无法使用 Electron 来使用 leveldown 包

Orl*_*hev 2 node.js npm electron leveldown

当我尝试使用电子构建我的应用程序时,它在 leveldown 库上崩溃

Error: The module '/Users/macosx/Documents/Electron/node_modules/leveldown/build/Release/leveldown.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 64. This version of Node.js requires
NODE_MODULE_VERSION 67. Please try re-compiling or re-installing
Run Code Online (Sandbox Code Playgroud)

我努力了

rm -rf node_modules/leveldown
npm install
Run Code Online (Sandbox Code Playgroud)
npm rebuild leveldown--update-binary
Run Code Online (Sandbox Code Playgroud)
npm uninstall leveldown
Run Code Online (Sandbox Code Playgroud)

也尝试过这个

我遇到了同样的问题,这里提到的任何内容都不适合我。这就是>对我有用的东西:

在由 Electron 运行的 main.js 文件中需要您需要的所有依赖项。(这对我来说似乎是第一个重要部分)运行 npm i -D electro-rebuild 以添加 electro-rebuild 包 删除 node-modules 文件夹以及 packages-lock.json 文件。运行 npm i 安装所有模块。运行 ./node_modules/.bin/electron-rebuild 来重建所有内容 在 npm i 之后直接运行 ./node_modules/.bin/electron-rebuild 非常重要,否则它无法在我的 mac 上运行。

Jth*_*rpe 6

我为此苦苦挣扎了几天。技巧是使用Electron-rebuild构建原生 Node 模块,并node.__dirname = true在 Webpack 配置中包含该选项,因为 leveldown Bindings.js依赖于 Node 提供的 __dirname 全局变量。