运行discord.js机器人时报Unexpected token '??='语法错误如何解决?
报错原因
这个SyntaxError: Unexpected token '??='不属于discord.js REST客户端的语法错误,本质是你当前使用的Node.js版本过低,不支持ES2021新增的**逻辑空赋值运算符(??=)**导致的。
discord.js v14及以上版本明确要求Node.js版本至少为16.9.0,低于该版本运行时就会触发这类新语法无法识别的报错。
修复方案
- 方案一:升级Node.js到符合要求的版本
- 先执行
node -v查看当前安装的Node.js版本,确认是否低于16.9.0 - 卸载当前旧版本Node.js,安装16.9.0及以上的LTS长期支持版本即可,安装完成后重新执行
node bot.js启动机器人
- 先执行
- 方案二:降级discord.js到适配旧版本Node.js的版本
如果因为环境限制无法升级Node.js,可以将discord.js降级到v13版本,该版本最低支持Node.js 16.6.0,执行如下命令即可完成降级:
注意降级后部分API用法会有变动,需要对应调整你的机器人代码逻辑。npm install discord.js@13
内容的提问来源于stack exchange,提问作者ywbird
相关产品推荐
相关产品推荐

