node.js - 在 Heroku 上运行时找不到模块“./mergeConfig”
问题描述
我有一个节点应用程序,在我的机器上通过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"
}
}
解决方案
尝试在 package.json 的依赖项中显式添加缺少的模块:
"dependencies": {
...
"merge-config" :"2.0.0"
...
}
我认为它适用于您的本地环境,因为您已在全球范围内安装了该模块。
推荐阅读
- javascript - 如何显示或隐藏页面重定向?
- memory - JVM8和JVM11的内存结构有区别吗?
- c# - 快照产生的低质量图片。WPF
- css - 除了标题幻灯片之外,如何在 RMarkdowns 的 ioslides 中放置徽标?
- php - GuzzleHTTP 在现有页面上返回 404
- python - 可被任何给定数整除的回文数
- c# - 如何限制datalist中的单词数?
- xml - 多语言页面的 sitemap.xml
- angular - 如何以角度显示从api获取的数据
- python - bazel 构建 tensorflow/tools/graph_transforms:transform_graph 错误