缺少模块的错误

Posted

技术标签:

【中文标题】缺少模块的错误【英文标题】:Errir with missing module 【发布时间】:2020-01-30 19:15:02 【问题描述】:

我在 Discord Bot Maker 中有机器人。它在我的电脑(Windows 10)上完美运行,但是当我将它移动到我的 VPS(Ubuntu 16.04)并尝试使用节点 bot.js 启动它时,我会收到。

错误:

module.js:550
    throw err;
    ^

Error: Cannot find module './constants'
    at Function.Module._resolveFilename (module.js:548:15)
    at Function.Module._load (module.js:475:25)
    at Module.require (module.js:597:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/home/justwolf/butter/node_modules/ws/lib/websocket.js:19:19)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)

bot.js:https://hastebin.com/koredupoka.js

【问题讨论】:

bot.js发布相关代码。仅凭错误消息很难弄清楚您的问题所在。 @MaazSyedAdeeb 已编辑。 【参考方案1】:

错误:

Error: Cannot find module './constants'

表示你的代码中某处有

.... = require('./constants')

但是文件constants.js 不存在,或者至少不在它应该存在的位置。也许当您将机器人脚本上传到您的 VPS 时,您忘记了上传该文件。

有时,在现成的脚本中,配置变量(例如数据库凭据和其他内容)存储在名为 constants.js 的文件中,并且该文件未进行版本控制(在 .gitignore 中有条目)。也许您有一个名为constants.js.distconstants.js.example 的文件。这意味着您需要对其进行编辑并将其重命名为constants.js

【讨论】:

那是问题。我打开了 bot.js,没有常量也不是我的机器人。我的朋友发给我,我只会为他提供托管.. 所以他给我发了完整的机器人文件夹。 尝试使用grepag 在整个代码中查找“常量”一词的出现,因为有一个。这就是错误的含义。 我尝试了 grep "constants" bot.js 并没有发生任何事情。我还尝试在 Atom 编辑器中查找“常量”。 在整个文件夹中使用它。转到您的项目文件夹并运行grep -inr constants ./ 好的.. 已修复.. 知道问题出在哪里,但是当我将机器人从朋友下载到电脑、运行它然后转移到 VPS 时它起作用了。无论如何..感谢您的帮助。

以上是关于缺少模块的错误的主要内容,如果未能解决你的问题,请参考以下文章

导入 yaml 缺少错误模块

XCode 构建错误 - 缺少必需的模块“算法”

Rails 的 ActiveRecord 序列化:attr 方法给出“缺少类或模块错误”

尝试编译C扩展模块时缺少Python.h

错误“模块根文件夹中缺少文件 google-services.json。没有它,Google 服务插件无法运行”[重复]

npm install 缺少模块