部署 bot 时出现 Heroku 部署错误

Heroku deployment error when deploying bot

我的 discord bot 在 Heroku 上运行不佳,有人知道原因吗?我将给出我在尝试部署机器人时收到的错误消息,如果你们需要有关我程序中文件的信息,请 lmk!谢谢

2021-08-31T03:57:41.760749+00:00 heroku[worker.1]: Starting process with command `node index.js`
2021-08-31T03:57:42.368542+00:00 heroku[worker.1]: State changed from starting to up
2021-08-31T03:57:44.139912+00:00 heroku[worker.1]: Process exited with status 1
2021-08-31T03:57:44.213728+00:00 heroku[worker.1]: State changed from up to crashed
2021-08-31T03:57:44.057396+00:00 app[worker.1]: /app/node_modules/discord.js/src/rest/APIRequest.js:33
2021-08-31T03:57:44.057418+00:00 app[worker.1]:     agent ??= new https.Agent({ ...this.client.options.http.agent, keepAlive: true });
2021-08-31T03:57:44.057419+00:00 app[worker.1]:           ^^^
2021-08-31T03:57:44.057419+00:00 app[worker.1]: 
2021-08-31T03:57:44.057419+00:00 app[worker.1]: SyntaxError: Unexpected token '??='
2021-08-31T03:57:44.057420+00:00 app[worker.1]:     at wrapSafe (internal/modules/cjs/loader.js:988:16)
2021-08-31T03:57:44.057420+00:00 app[worker.1]:     at Module._compile (internal/modules/cjs/loader.js:1036:27)
2021-08-31T03:57:44.057420+00:00 app[worker.1]:     at Object.Module._extensions..js (internal/modules/cjs/loader.js:1101:10)
2021-08-31T03:57:44.057420+00:00 app[worker.1]:     at Module.load (internal/modules/cjs/loader.js:937:32)
2021-08-31T03:57:44.057421+00:00 app[worker.1]:     at Function.Module._load (internal/modules/cjs/loader.js:778:12)
2021-08-31T03:57:44.057421+00:00 app[worker.1]:     at Module.require (internal/modules/cjs/loader.js:961:19)
2021-08-31T03:57:44.057421+00:00 app[worker.1]:     at require (internal/modules/cjs/helpers.js:92:18)
2021-08-31T03:57:44.057421+00:00 app[worker.1]:     at Object.<anonymous> (/app/node_modules/discord.js/src/rest/RESTManager.js:4:20)
2021-08-31T03:57:44.057421+00:00 app[worker.1]:     at Module._compile (internal/modules/cjs/loader.js:1072:14)
2021-08-31T03:57:44.057422+00:00 app[worker.1]:     at Object.Module._extensions..js (internal/modules/cjs/loader.js:1101:10)```

discord.js v13 需要节点 v16.6 或更高版本,而您的 Heroku dyno 没有。根据 the Heroku docs,要指定自定义节点版本,您需要将其包含在 package.json:

{
  // ...
  "engines": {
    "node": "16.x" // Or whatever node version you want
  }
  // ...
}