升级Node.js至17版本后安装quick.db出现better-sqlite3相关错误如何解决
问题根因
- 你安装的
quick.db依赖better-sqlite3@7.4.4,该版本没有适配Node.js 17(非LTS奇数版本)的预编译二进制包,安装时需要本地从源码编译 - 你的Windows系统缺少
node-gyp所需的C++编译工具链,导致源码编译流程失败
解决方案
方案一(优先推荐)
无需额外安装编译工具,兼容性最好:
- 卸载当前Node.js 17版本,安装16.x LTS版本(需选择≥16.6.0的版本,满足discord.js v13的最低运行要求)
- 删除项目目录下的
node_modules文件夹、package-lock.json文件 - 重新执行
npm i discord.js、npm i quick.db即可完成全部依赖安装
方案二(保留Node.js 17)
需要安装本地编译所需的工具链:
- 以管理员权限打开Windows PowerShell
- 执行命令
npm install --global windows-build-tools,等待工具链自动安装完成 - 回到项目目录重新执行
npm i quick.db即可完成安装
内容的提问来源于stack exchange,提问作者deadkill
相关产品推荐
相关产品推荐

