树莓派运行Node.js开发的Discord机器人报错找不到模块/home/pi如何解决
报错原因与解决方案
报错根因
这个报错是Node.js启动时无法找到指定的入口模块导致的,触发场景通常有两类:
- 启动命令错误:执行node命令时未正确填写入口JS文件的路径/名称,Node误将
/home/pi当成了要加载的模块文件 - 工作目录错误:没有切换到项目根目录就执行启动命令,Node无法按相对路径找到入口文件
解决步骤
- 先确认你的项目文件结构符合要求,示例正确结构如下:
/home/pi/discord-bot/ # 项目根目录,可自定义名称 ├── index.js # 你贴的JS代码保存的文件,也可以叫bot.js等自定义名称 ├── config.json ├── package.json(如果有) └── commands/ # 存放命令逻辑的文件夹,必须和入口文件同级 └── xxx.js # 各功能的命令文件
- 若存在package.json文件,检查
main字段的值是否为你的入口文件名,示例:"main": "index.js",不要填写绝对路径。 - 执行启动命令前先切换到项目根目录:
cd /home/pi/discord-bot# 替换成你实际的项目根目录路径 - 正确执行启动命令,假设你的入口JS文件名为index.js:
node index.js - 如果你使用pm2等进程管理工具启动,确认配置文件里的入口文件路径填写正确。
额外注意事项
你当前贴的代码里还有一处语法问题,后续跑通启动逻辑后会触发:msg.content.toLowerCase().startswith(prefix)中的方法名应为驼峰格式startsWith,首字母s需要大写,否则会抛出方法不存在的报错。
内容的提问来源于stack exchange,提问作者nope251
相关产品推荐
相关产品推荐

