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

无法在树莓派上部署Discord Bot的问题求助

解决Discord Bot运行时的async语法错误问题

兄弟,你遇到的这个SyntaxError: Unexpected identifier错误根源很清晰——你的Node.js版本太低,不支持async/await语法。async关键字是在Node.js 7.6.0版本才开始默认支持的,从报错里的vm.js和module.js版本来看,你的环境明显是老版本Node导致的兼容性问题。

下面给你一步步解决的方案:

  • 第一步:检查当前Node.js版本
    先在终端里运行这个命令确认你的版本:

    node -v
    

    如果输出的版本号低于v7.6.0,那就实锤是版本的问题了。

  • 第二步:升级Node.js(推荐用nvm管理版本)
    用nvm(Node Version Manager)来升级是最稳妥的,不会搞乱系统环境:

    1. 如果还没装nvm,先安装它(Linux/macOS可以用curl脚本,Windows直接下载官方安装包即可)
    2. 安装最新的长期支持版(LTS)Node:
      nvm install --lts
      
    3. 切换到刚安装的新版本:
      nvm use [你的LTS版本号]
      
      比如装的是18.x版本,就输入nvm use 18
  • 第三步:验证修复效果
    再次运行node -v确认版本已经在v7.6.0以上,然后重新执行:

    node index.js
    

    这时候async语法的报错应该就消失了。

  • 第四步:修复pm2的运行问题
    升级Node后,pm2可能还在绑定旧的Node版本,需要重新配置进程:

    1. 先删掉之前的Bot进程:
      pm2 delete DiscordBot
      
      (把DiscordBot换成你之前设置的进程名,忘了的话可以用pm2 list查看)
    2. 用新的Node版本重新启动Bot:
      pm2 start index.js --name "DiscordBot"
      

如果实在不想升级Node(非常不推荐,老版本存在安全风险),你也可以用Babel把代码转译成兼容老版本的语法,但升级Node是最直接省心的方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:15:15