Electron 中安装Better-sqlite3遇到的问题总结

2020年9月24日撰写:

今天尝试在Electron使用Better-sqlite3,遇到了很多坑,主要还是使用sqlite3库时感觉特别不爽才硬刚的

就不多说了,直接进入正题。

安装better-sqlite3需要在Electron运行需要保证Node和Electron的ABI(NODE_MODULE_VERSION)一至;

https://nodejs.org/zh-cn/download/releases/ Node版本对照表;

我使用的nodejs版本为v12.16.3(ABI为72),electron为v9.3.1(ABI为82)以下是electron官网提供的搭配

第一步,确定安装Python2.x、vs2015或vs2017;

第二步,执行以下代码:

npm install --global windows-build-tools
#或者
cnpm install --global windows-build-tools

npm install --global windows-build-tools --vs2015
#或者
cnpm install --global windows-build-tools --vs2015

代码中出现npm和cnpm,在install过程中使用npm会比较慢,cnpm则是阿里云定制的npm版本,在国内下载速度较快。通过以下命令安装cnpm:

npm install -g cnpm --registry=https://registry.npm.taobao.org

安装node-gyp

npm install -g node-gyp

安装better-sqlite3:

npm install better-sqlite3

第三步,在项目中调用better-sqlite3:

const DB = require('better-sqlite3');

如果出现以下问题:

was compiled against a different Node.js version using
NODE_MODULE_VERSION XX. This version of Node.js requires
NODE_MODULE_VERSION XX. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).

可以通过以下命令解决:

npm install --save-dev electron-rebuild
.\node_modules\.bin\electron-rebuild -f -w better-sqlite3

如果还是不行,可以试试:

cnpm rebuild --runtime=electron --target=9.3.1 --disturl=https://atom.io/download/atom-shell --abi=64

target为electron版本,精确编译对应abi的版本,过程较慢,耐心等待。

abi版本我尝试过64 和 73 对应electron 9.3.1和10.1.3

如果还是不行,可以在下面留言。

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值