在Heroku上部署node.js应用程序(discord.jd bot)导致错误
我正试图在heroku上部署一个discord机器人。它工作约1-2分钟,然后出现错误:在Heroku上部署node.js应用程序(discord.jd bot)导致错误,node.js,heroku,discord.js,Node.js,Heroku,Discord.js,我正试图在heroku上部署一个discord机器人。它工作约1-2分钟,然后出现错误: 2020-08-10T10:05:17.228802+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch 2020-08-10T10:05:17.246146+00:00 heroku[web.1]: Stopping proce
2020-08-10T10:05:17.228802+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
2020-08-10T10:05:17.246146+00:00 heroku[web.1]: Stopping process with SIGKILL
2020-08-10T10:05:17.307500+00:00 heroku[web.1]: Process exited with status 137
2020-08-10T10:05:17.347445+00:00 heroku[web.1]: State changed from starting to crashed
(完整日志):
package.json
中的start
命令是:node index.js
该文件是:
worker: node index.js
而index.js
是:
const Discord = require("discord.js")
const client = new Discord.Client()
const welcomeMessage = require("./welcomeMessage")
client.on("ready", () => {
console.log("Bot [index.js] is ready!")
})
client.login(process.env.TOKEN)
我还有另一个文件,welcomeMessage
:
const Discord = require("discord.js")
const client = new Discord.Client()
client.on("ready", () => {
console.log("Bot [welcomeMessage.js] is ready!")
})
client.on('guildMemberAdd', member => {
let welcomeChannel = client.channels.cache.get('0000000000000')
welcomeChannel.send("hello world")
})
client.login(process.env.TOKEN)
是什么导致了这个人?thx结果表明,您需要禁用web dyno并启用worker dyno。伙计,不知怎么的,我在这里做到了,第一次随机尝试对我有效,我太高兴了!听着,我希望这对你也有用。首先,查看您的“
package.json
”文件,其中必须包含:
"scripts": {
},
您应该将“start”:“node index.js
”放在那里(即使“脚本”中已经有其他内容,但不要删除其他内容,只需添加此内容),它将如下所示:
"scripts": {
"start": "node index.js",
},
然后转到Procfile并将“worker:node index.js
”更改为“worker npm start
”(我尝试了它,因为我注意到只有web在工作,它的命令是“web npm start”)
它应该能解决问题
我很确定这是我解决的问题,现在它不停地运行,但如果不是解决的问题,我也在终端上使用了一些命令:“heroku run worker
”,还有“heroku ps:scale worker=1
”
我希望它能帮助你,我连续8个小时试图让它工作,因为我有其他错误,我知道这件事不工作有多烦人
注意:你还需要按照对方之前说的做:
“(…)您需要禁用web dyno并启用worker dyno”
注:我知道你已经开始了,我只是想如果有人在没有这些信息的情况下来到这里,也许会有所帮助
"scripts": {
"start": "node index.js",
},