启动Discord bot报ReferenceError: FinalizationRegistry未定义如何解决?
报错解决方案
报错原因
ReferenceError: FinalizationRegistry is not defined 报错的核心原因是当前运行环境的Node.js版本过低,无法支持discord.js依赖的内置API。
FinalizationRegistry是Node.js v14.6.0才正式加入的全局API,主流discord.js版本对Node.js的版本要求更高:
- discord.js v14 要求Node.js版本 ≥ 16.9.0
- discord.js v13 要求Node.js版本 ≥ 16.6.0
解决方法
- 首先执行
node -v命令查看本地Node.js版本,确认是否符合上述版本要求 - 优先选择升级Node.js到符合要求的LTS长期支持版本,升级完成后无需修改现有代码,重新执行
node index.js即可正常启动Bot - 若受环境限制无法升级Node.js版本,可降级discord.js到v12版本,执行命令
npm install discord.js@12即可。注意v12版本已停止官方维护,且接口写法和现有代码存在差异,需要调整代码逻辑后才能运行
你提交的index.js和config.json代码逻辑完全符合discord.js对应版本的开发规范,不存在语法或配置错误,无需修改代码内容。
内容的提问来源于stack exchange,提问作者Sylent
相关产品推荐
相关产品推荐

