Heroku为index.js获取错误的文件路径

2022-02-23 00:00:00 heroku node.js javascript discord.js

我尝试通过Heroku启动我的不和谐机器人,但它没有启动,当我检查日志时,它给了我这样的响应

Starting...
internal/modules/cjs/loader.js:905
throw err;
^

Error: Cannot find module 'Discord.js'
Require stack:
- /app/index.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
at Function.Module._load (internal/modules/cjs/loader.js:746:27)
at Module.require (internal/modules/cjs/loader.js:974:19)
at require (internal/modules/cjs/helpers.js:93:18)
at Object.<anonymous> (/app/index.js:3:29)
at Module._compile (internal/modules/cjs/loader.js:1085:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:790:12)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [ '/app/index.js' ]
}

在我看来,它似乎试图通过文件路径/app/index.js启动index.js文件,但该文件不在/app/index.js中,而只是/index.js,而且我甚至从未在任何地方输入过有关/app文件路径的任何内容,所以我不知道它为什么要这样做

编辑:我意识到日志在搜索时没有显示任何有用的东西,因为我输入日志太晚了,如果我早点输入日志,我会看到更多关于错误的信息。以下是它之前所说的

at Module._compile (internal/modules/cjs/loader.js:1085:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:790:12)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [ '/app/index.js' ]
}
Process exited with status 1
State changed from up to crashed

解决方案

问题可能位于package.json文件中,因为其中有一个名为Main的字段,用于定义主文件的位置。

{
    "name": "lhubot",
    "version": "2.2.6",
    "description": "",
    "main": "index.js",
    ...
}

相关文章