[英]Cannot find module './mergeConfig' when running on Heroku
我有一個節點應用程序,當通過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,所以我真的不知道是什么導致了這個問題,谷歌搜索也沒有任何幫助。
我的heroku環境中似乎缺少有關此mergeConfig
模塊的任何想法,但我的本地環境中卻沒有?
編輯:這是我的 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"
...
}
我認為它適用於您的本地環境,因為您已全局安裝該模塊。
我有同樣的問題。 './mergeConfig' 是 de axios 模塊中的一個文件。
路徑:node_modules/axios/core/mergeConfig.js
出於某種原因,heroku 對這個文件有問題。 我通過用請求替換 axios 來解決它。
這為我解決了問題NODE_OPTIONS=--max_old_space_size=4096
源代碼: https : //github.com/axios/axios/issues/1767#issuecomment-416924946
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.