我有一个不和谐的机器人已经有几个星期了,并且一切都运转良好。今天,我在git仓库中添加了一条命令,突然heroku向我显示了此错误:
错误:找不到模块'discord.js'
我没有更改主要bot代码或package.json文件中的任何内容。我删除了添加的新命令,并再次推送了新的更改,但仍然遇到相同的错误。
我尝试使用npm install discord.js --save
重新安装discord.js,并使用新版本更新package.json。还是一无所有。
如果我在本地运行该机器人,那么它就可以工作;如果我回滚到Heroku上的最后一个工作版本,它也可以工作。
我的bot.js代码加载库:
const Discord = require("discord.js");
我的package.json文件:
{
"name": "redacted",
"description": "redacted",
"version": "1.0.0",
"main": "bot.js",
"scripts": {
"start": "node bot.js"
},
"dependencies": {
"discord.js": "^11.5.1",
"request": "2.81.0"
}
}
我不知道该怎么办,因为代码与以前的版本完全相同。我不明白为什么会收到此错误。
答案 0 :(得分:1)
我相信错误可能出在您的 package.json 文件中,您缺少了一些关键事项:
您必须同时包含用于 node 和 npm 的版本(我建议使用最新版本):
"engines": {
"node": "12.14.1",
"npm": "6.13.4"
},
接下来,您还需要像这样定义 git存储库:
"repository": {
"type": "git",
"url": "git+link"
},
还要确保在您的 Procfile 中有
worker: npm start
在您的 requirements.txt 中,确保具有以下内容:
npm install discord.js
您可以阅读有关在Heroku here.
上托管discord.js机器人的更多信息。