electron运行项目better-sqlite3连接失败的问题,ABI版本不匹配,使用使用 electron-rebuild 重新编译

better-sqlite3连接失败; npx electron-rebuild执行失败

确保node_modules装了node_gyp,否则出错

复制代码
npm i node-gyp

App threw an error during load

Error: The module '\\?\E:\mysctrip\electron-app\node_modules\better-sqlite3\build\Release\better_sqlite3.node'

was compiled against a different Node.js version using

NODE_MODULE_VERSION 127. This version of Node.js requires

NODE_MODULE_VERSION 140. 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:2617)

at Module._extensions..node (node:internal/modules/cjs/loader:1874:18)

at Object.func as .node (node:electron/js2c/node_init:2:2617)

at Module.load (node:internal/modules/cjs/loader:1448:32)

at Module._load (node:internal/modules/cjs/loader:1270:12)

at c._load (node:electron/js2c/node_init:2:17993)

at TracingChannel.traceSync (node:diagnostics_channel:328:14)

at wrapModuleLoad (node:internal/modules/cjs/loader:244:24)

at Module.require (node:internal/modules/cjs/loader:1470:12)

at require (node:internal/modules/helpers:147:16)

为解决better-sqlite3连接失败,使用electron带的rebuild

在package.json的scripts中添加rebuild指令

复制代码
 "rebuild": "electron-rebuild -f -w better-sqlite3"
复制代码
//依次执行
npx electron-rebuild
npm run dev
//npx electron-rebuild报错
gyp failed with exit code: 1"在已经下了c++环境,node_gyp情况下

一般能装上better-sqlite3这个依赖已经是不会缺环境和其他依赖了,

better-sqlite3连接失败报错信息如下

7304:1227/210732.456:ERROR:CONSOLE:1] "Request Autofill.enable failed. {"code":-32601,"message":"'Autofill.enable' wasn't found"}", source: devtools://devtools/bundled/core/protocol_client/protocol_client.js (1) 7304:1227/210732.456:ERROR:CONSOLE:1 "Request Autofill.setAddresses failed. {"code":-32601,"message":"'Autofill.setAddresses' wasn't found"}", source: devtools://devtools/bundled/core/protocol_client/protocol_client.js (1) 收到数据库连接测试请求 创建data目录: E:\mysctrip\book-write\front_electron_book\editor_books_app 开发环境 - 数据库路径: E:\mysctrip\book-write\front_electron_book\editor_books_app\app.db 数据库初始化失败: Error: The module '\\?\E:\mysctrip\book-write\front_electron_book\node_modules\better-sqlite3\build\Release\better_sqlite3.node' was compiled against a different Node.js version usingun

//npx electron-rebuild报错信息如下

An unhandled error occurred inside electron-rebuild

node-gyp failed to rebuild 'E:\mysctrip\book-write\front_electron_book\node_modules\better-sqlite3'.

For more information, rerun with the DEBUG environment variable set to "electron-rebuild".

Error: `gyp` failed with exit code: 1

Error: node-gyp failed to rebuild 'E:\mysctrip\book-write\front_electron_book\node_modules\better-sqlite3'.

For more information, rerun with the DEBUG environment variable set to "electron-rebuild".

Error: `gyp` failed with exit code: 1

at NodeGyp.rebuildModule (E:\mysctrip\book-write\front_electron_book\node_modules\electron-rebuild\lib\src\module-type\node-gyp.js:120:19)

at process.processTicksAndRejections (node:internal/process/task_queues:105:5)

at async ModuleRebuilder.rebuildNodeGypModule (E:\mysctrip\book-write\front_electron_book\node_modules\electron-rebuild\lib\src\module-rebuilder.js:98:9)

at async ModuleRebuilder.rebuild (E:\mysctrip\book-write\front_electron_book\node_modules\electron-rebuild\lib\src\module-rebuilder.js:128:14)

at async Rebuilder.rebuildModuleAt (E:\mysctrip\book-write\front_electron_book\node_modules\electron-rebuild\lib\src\rebuild.js:149:13)

at async Rebuilder.rebuild (E:\mysctrip\book-write\front_electron_book\node_modules\electron-rebuild\lib\src\rebuild.js:112:17)

at async E:\mysctrip\book-write\front_electron_book\node_modules\electron-rebuild\lib\src\cli.js:158:9

相关推荐
心中有国也有家5 分钟前
AtomGit Flutter 鸿蒙客户端:零外部资源的应用打包策略
android·javascript·flutter·华为·harmonyos
胡萝卜术9 小时前
从API调用到手写LRU:力扣146「LRU缓存」的哈希表+双向链表终极进化之路
前端·javascript·面试
科技道人9 小时前
记录 默认置灰/禁用 app ‘Search Engine Selector‘ 的disable按钮
开发语言·前端·javascript
shuaijie051815 小时前
强制修改调用接口的api地址。
javascript·vue.js·ecmascript
JerrySir15 小时前
恶意 npm 包只活了 17 分钟:技术面试里,为什么“升级依赖”还不算止血?
javascript·安全
白帽小阳15 小时前
2026前端面试题!(附答案及解析)
javascript·网络·python·安全·web安全·网络安全·护网行动
这是个栗子15 小时前
前端开发中的常用工具函数(八)
开发语言·前端·javascript
Hilaku15 小时前
Vue 和 React 真正的差距,不在语法,而在团队犯错成本
前端·javascript·程序员
研☆香15 小时前
为什么变量声明在赋值前也能使用?—— 深入理解 JavaScript 变量提升与作用域
开发语言·前端·javascript
柯克七七16 小时前
我把 bug 修得太干净了,测试组以为这个模块本来就没问题
前端·javascript·typescript