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

相关推荐
xiaoxue..5 小时前
合并两个升序链表 与 合并k个升序链表
java·javascript·数据结构·链表·面试
要加油哦~5 小时前
AI | 实践教程 - ScreenCoder | 多agents前端代码生成
前端·javascript·人工智能
一个public的class6 小时前
你在浏览器输入一个网址,到底发生了什么?
java·开发语言·javascript
青茶3606 小时前
php怎么实现订单接口状态轮询请求
前端·javascript·php
火车叼位6 小时前
脚本伪装:让 Python 与 Node.js 像原生 Shell 命令一样运行
运维·javascript·python
VT.馒头6 小时前
【力扣】2727. 判断对象是否为空
javascript·数据结构·算法·leetcode·职场和发展
鱼毓屿御7 小时前
如何给用户添加权限
前端·javascript·vue.js
JustHappy7 小时前
「web extensions🛠️」有关浏览器扩展,开发前你需要知道一些......
前端·javascript·开源
xixixin_7 小时前
【JavaScript 】从 || 到??:JavaScript 空值处理的最佳实践升级
开发语言·javascript·ecmascript
belldeep7 小时前
python:用 Flask 3 , mistune 2 和 mermaid.min.js 10.9 来实现 Markdown 中 mermaid 图表的渲染
javascript·python·flask