【发布时间】:2020-03-29 10:27:08
【问题描述】:
我有一个节点应用程序,通过node my_application.js 在我的机器上执行时运行良好。
但是,如果将其推送到 heroku 并通过 heroku run node my_application.js 或使用调度程序执行它,我得到的是这个错误:
internal/modules/cjs/loader.js:638
throw err;
^
Error: Cannot find module './mergeConfig'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
at Function.Module._load (internal/modules/cjs/loader.js:562:25)
at Module.require (internal/modules/cjs/loader.js:690:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object.<anonymous> (/app/node_modules/axios/lib/core/Axios.js:7:19)
at Module._compile (internal/modules/cjs/loader.js:776:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
我在本地和 Heroku 上运行 node v10.16.0 和 npm v6.9.0,所以我真的不知道是什么导致了这个问题,谷歌搜索并没有任何帮助。
关于这个 mergeConfig 模块的任何想法似乎在我的 heroku 环境中缺失,但在我的本地环境中没有?
编辑:这是我的 package.json:
{
"name": "[REDACTED]",
"version": "1.0.0",
"description": "[REDACTED]",
"author": "",
"license": "ISC",
"dependencies": {
"axios": "^0.19.0",
"bluebird": "^3.5.3",
"body-parser": "^1.18.3",
"dateformat": "^3.0.3",
"express": "^4.16.4",
"form-data": "^2.3.3",
"http-to-curl": "^1.4.2",
"jest": "^24.8.0",
"qs": "^6.6.0",
"querystring": "^0.2.0",
"redis": "^2.8.0",
"simple-oauth2": "^2.2.1"
}
}
【问题讨论】:
-
请edit您的问题并添加您的
package.json。 -
mergeConfig是否出现在您的package-lock.json或yarn.lock中?它是您自己编写的模块,还是来自私有包存储库的模块?您是直接依赖它(如果是,为什么不在您的package.json中)还是间接依赖?我在 NPM 上找不到(虽然有merge-config)。