在Heroku部署Discord.js v13机器人时discord.js模块找不到报错如何解决
Heroku部署Discord.js v13找不到discord.js模块的修复方案
该错误MODULE_NOT_FOUND的本质是Heroku运行环境中没有成功安装discord.js依赖包,可按以下步骤排查修复:
- 确认依赖写入正确的配置字段
打开项目根目录的package.json,检查discord.js是否写在dependencies下,不要放在devDependencies中(Heroku生产部署默认不会安装开发依赖),参考配置:"dependencies": { "discord.js": "^13.17.1" } - 提交依赖锁文件
本地执行npm install discord.js@13安装对应版本依赖,确认生成的package-lock.json(npm)或yarn.lock(yarn)没有被加入.gitignore,随代码一起提交到部署仓库,Heroku会根据锁文件安装完全匹配版本的依赖,避免版本兼容问题。 - 配置兼容的Node.js版本
Discord.js v13要求Node.js版本≥16.6.0,需要在package.json中指定引擎版本,防止Heroku使用过低版本的Node环境:"engines": { "node": "16.x" } - 重新部署验证
修改完成后提交所有变更,重新推送代码到Heroku完成部署,部署后可通过heroku logs --tail查看运行日志确认问题是否解决。
可选排查:如果问题仍存在,可执行
heroku run bash进入Heroku应用容器,运行npm list discord.js检查依赖是否安装成功,手动执行npm install可查看安装过程中的具体报错信息。
内容的提问来源于stack exchange,提问作者Newbieee
相关产品推荐
相关产品推荐

