You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

上传NodeJS Discord Bot至Pterodactyl主机时出现MODULE_NOT_FOUND错误

问题根因

你遇到的报错核心原因是Linux系统文件系统严格区分大小写,而你本地使用的Windows/macOS默认文件系统不区分大小写,所以本地运行正常,部署到Linux托管环境后触发报错。
你代码中引入路径写的是 ../database/models/blackListSchema,但报错显示系统正在查找 ../database/models/blacklistSchema,二者的 L 大小写不一致。

解决步骤

  • 第一步:核对文件大小写
    登录Pterodactyl面板进入文件管理,打开 /database/models 目录,确认你的Schema文件名称和你代码中require的字符串完全一致:
    如果你代码写的是 require('../database/models/blackListSchema'),那文件名必须精确为 blackListSchema.js,大小写、拼写完全对应,不能有任何偏差。
  • 第二步:排查文件后缀问题
    确认目标文件后缀确实是 .js,不要因为本地系统隐藏了已知后缀名,导致实际文件名为 blackListSchema.js.txt 或其他异常后缀。
  • 第三步:验证路径有效性
    如果前两步都没问题,可以在 blacklist.js 开头加入以下代码临时验证路径:
    const path = require('path')
    const fs = require('fs')
    const targetPath = path.join(__dirname, '../database/models/blackListSchema.js')
    console.log('目标文件路径:', targetPath)
    console.log('文件是否存在:', fs.existsSync(targetPath))
    
    重启Bot后查看控制台输出,即可确认目标路径是否正确,文件是否真的存在于对应位置。

内容的提问来源于stack exchange,提问作者Joseph Gross

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 07:06:04