0

我目前面临一个问题,即我的 Discord Node.js 机器人由于某种原因没有在 Heroku 上启动,尽管我做了我在这个论坛、官方文档、youtube 视频等上可能找到的一切。

如果我在我的计算机上运行 index.js 文件,机器人会成功登录,并且到目前为止我添加的命令运行良好。但我当然想将此有效负载卸载到服务器上,即 Heroku。

我的项目位于 GitHub 上的私有存储库中,我已经在 Heroku 仪表板(主分支)上设置了自动部署。

我的文件夹结构:

node_modules/
src/
   Commands/
   Data/
   Events/
   Structures/
   index.js
.gitignore
package-lock.json
package.json
Procfile
README.md

我的 Procfile 的内容是这样的(不带引号): "worker: node src/index.js"
在 package.json 中,相关部分是:

"main": "src/index.js",
"scripts": {
   "start": "node src/index.js"
},
"engines": {
   "node": "16.x",
   "npm": "8.x"
},
"repository": {
   "type": "git",
   "url": "git+https://github.com/******/******.git"
},
"private": true

环境变量也在 Heroku Dashboard 上设置,它位于 gitignore 列表中,可在 src/Data/config.json 文件中找到。

我检查了 Heroku 日志,它实际上是空的。它甚至还没有尝试启动,在仪表板的“资源”选项卡上,它说“这个应用程序还没有进程类型。向你的应用程序添加一个 Procfile 以定义它的进程类型。” 但是,我在文件夹中完全有一个 Procfile,在 GitHub 上也是如此。
我还在 Heroku Dashboard 上的应用程序中添加了 Node.js Buildpack。

伙计们,我在这里错过了什么?我怎样才能最终让 Heroku 启动我的 Node.js?
我将通过引用我最喜欢的游戏之一(我们在一起)来结束这个帮助请求:“请有人帮忙!” :)

4

1 回答 1

1

好的,想通了。对于将来遇到相同问题的人:

解决方案是断开连接,然后重新连接 Heroku Dashboard 上的 GitHub 存储库。

用户必须Procfile在问题中有描述,其中js文件指向索引文件,具有目录相对引用。 package.json必须包含启动脚本。版本号声明不是强制性的。

于 2021-11-14T22:29:36.507 回答