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

discord.js运行登录代码报AbortController未定义错误如何解决?

报错根因

你遇到的ReferenceError: AbortController is not defined报错是Node.js版本与discord.js版本不兼容导致:

  • 新版discord.js依赖的AbortControllerAPI是Node.js 16.x之后才内置到全局环境的,低于该版本的Node.js运行环境没有原生提供这个API,就会触发该引用错误,后续的500请求错误也是该兼容性问题引发的连锁报错。
修复方案

推荐方案(彻底解决兼容性问题)

  • 第一步:执行命令node -v查看当前本地Node.js版本号
  • 第二步:根据你使用的discord.js版本升级Node.js:
    • 若使用discord.js v14,需要将Node.js升级到16.9.0及以上版本
    • 若使用discord.js v13,需要将Node.js升级到16.6.0及以上版本
  • 第三步:删除项目根目录下的node_modules文件夹和package-lock.json文件,重新执行npm install安装依赖
  • 第四步:重新运行机器人代码验证即可

临时兼容方案(暂无法升级Node.js时使用)

如果暂时无法升级Node.js版本,可以通过引入polyfill临时兼容:

  1. 执行命令安装polyfill包:
npm install abort-controller
  1. 在你的代码最顶部添加如下引入代码:
global.AbortController = require("abort-controller");

注意该方案只是临时兼容,后续还是建议升级Node.js版本,避免出现其他未知兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 18:27:03