问题描述
Error: The module '\\?\F:\electron\password-manager\node_modules\better-sqlite3\build\Release\better_sqlite3.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 115. This version of Node.js requires
NODE_MODULE_VERSION 123. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
at process.func [as dlopen] (node:electron/js2c/node_init:2:2214)
at Module._extensions..node (node:internal/modules/cjs/loader:1470:18)
at Object.func [as .node] (node:electron/js2c/node_init:2:2214)
at Module.load (node:internal/modules/cjs/loader:1215:32)
at Module._load (node:internal/modules/cjs/loader:1031:12)
at c._load (node:electron/js2c/node_init:2:13801)
at Module.require (node:internal/modules/cjs/loader:1240:19)
at require (node:internal/modules/helpers:179:18)
at bindings (F:\electron\password-manager\node_modules\bindings\bindings.js:112:48)
at new Database (F:\electron\password-manager\node_modules\better-sqlite3\lib\database.js:48:64) {
code: 'ERR_DLOPEN_FAILED'
解决步骤
-
重新编译或重新安装模块
-
确保你在项目的根目录下运行以下命令:
npm rebuild better-sqlite3
-
如果上面的命令没有解决问题,可以尝试重新安装模块:
npm uninstall better-sqlite3 npm install better-sqlite3
-
-
确保 Node.js 和 Electron 的版本兼容:
-
不同版本的 Node.js 和 Electron 可能会导致
NODE_MODULE_VERSION
不匹配的问题。你可以尝试使用
electron-rebuild
来确保模块与当前 Electron 版本兼容:
npx electron-rebuild
-