You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js 14环境运行discord.js音乐机器人出现throw e报错如何解决

你遇到的是原生Node模块编译版本和运行环境不匹配的错误。better-sqlite3属于带C++原生代码的Node模块,安装时会根据当前Node版本编译对应二进制文件,你本地的better-sqlite3是基于Node 12.x版本编译的(对应NODE_MODULE_VERSION 72),但当前运行环境是Node 14.x(要求NODE_MODULE_VERSION 88),版本不匹配导致模块加载失败。

解决方案:

  • 优先尝试单独重新编译对应模块,在项目终端执行:
    npm rebuild better-sqlite3
  • 若执行后仍报错,删除项目根目录下的node_modules文件夹和package-lock.json文件,再执行全量依赖安装:
    npm install
  • 如果是ReplIt环境默认Node版本漂移导致的问题,可在项目根目录新增.replit配置文件,写入以下内容固定运行版本:
run = "nvm use 14 && node index.js"
  • 上述方案都无效的话,可在package.json中手动指定better-sqlite3的兼容版本为^7.4.3,再重新执行安装命令即可。

内容的提问来源于stack exchange,提问作者user16473175

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 03:45:05