[英]Heroku Deploy Error: Cannot find module './errors/cast'
我使用yeoman angular-fullstack生成器構建我的應用程序,然后根據自己的目的進行修改。 我使用yo angular-fullstack構建了dist文件夾以部署到heroku:deploy heroku。 它為我創建了一個新的heroku應用程序,當我進入dist文件夾和git push heroku master時,一切都很好。
我希望能夠將我現有的heroku應用程序添加到此dist文件夾的部署過程中,因此我按照這篇文章如何將文件夾與現有的Heroku應用程序鏈接 。 然后我可以使用與heroku不同的遠程名稱部署到我自己的應用程序。
當它開始在heroku上運行時,我一直得到同樣的錯誤。 我無法弄清楚為什么完全相同的代碼在為我創建的應用程序上運行正常但不是我現有的應用程序。 這幾乎就像我需要清除node_modules並再次推送?
2014-02-21T04:43:51.989439+00:00 app[web.1]: module.js:340
2014-02-21T04:43:51.996351+00:00 app[web.1]: Error: Cannot find module './errors/cast'
2014-02-21T04:43:51.996351+00:00 app[web.1]: at Function.Module._resolveFilename (module.js:338:15)
2014-02-21T04:43:51.991555+00:00 app[web.1]: throw err;
2014-02-21T04:43:51.991785+00:00 app[web.1]: ^
2014-02-21T04:43:51.996351+00:00 app[web.1]: at require (module.js:380:17)
2014-02-21T04:43:51.996351+00:00 app[web.1]: at Module.require (module.js:36 4:17)
2014-02-21T04:43:51.996351+00:00 app[web.1]: at Function.Module._load (module.js:280:25)
2014-02-21T04:43:51.996351+00:00 app[web.1]: at Module._compile (module.js:456:26)
2014-02-21T04:43:51.996351+00:00 app[web.1]: at Function.Module._load (module.js:312:12)
2014-02-21T04:43:51.996351+00:00 app[web.1]: at Object.<anonymous> (/app/node_modules/mongoose/lib/error.js:32:27)
2014-02-21T04:43:51.996351+00:00 app[web.1]: at Module.load (module.js:356:32)
2014-02-21T04:43:51.996351+00:00 app[web.1]: at Object.Module._extensions..js (module.js:474:10)
2014-02-21T04:43:51.996560+00:00 app[web.1]: at Module.require (module.js:364:17)
2014-02-21T04:43:53.457214+00:00 heroku[web.1]: State changed from starting to crashed
這是我在dist文件夾中的packages.json
{
"name": "myapp",
"version": "1.0.0",
"dependencies": {
"express": "~3.4.3",
"lodash": "~2.4.1",
"mongoose": "~3.5.5",
"mongoose-unique-validator": "~0.3.0",
"connect-mongo": "~0.4.0",
"passport": "latest",
"passport-local": "latest",
"passport-facebook": "latest",
"passport-twitter": "latest",
"passport-google": "latest",
"ejs": "~0.8.4"
},
"engines": {
"node": ">=0.10.0"
},
"scripts": {
"test": "grunt test"
}
}
問題幾乎肯定是您沒有簽入所需的所有文件。 如果你不能看到你的git倉庫的問題,請嘗試運行heroku run bash
,並使用cd
, ls
和more
環顧四周什么是越來越部署到Heroku的,看看有什么缺失。
您的問題可能是您require('./errors/cast')
但尚未簽入演員文件。
更新:
另一種可能是你在OS X上檢查了./errors/Cast
,它不區分大小寫,但是在區分大小寫的Linux上找不到該文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.