2014-02-21 1 views
1

나는 yeoman angular-fullstack generator를 사용하여 내 응용 프로그램을 만든 다음 내 용도에 맞게 수정했습니다. heroku를 사용하여 heroku에 배포 할 dist 폴더를 만들었습니다. 그것은 나를위한 새로운 heroku 응용 프로그램을 만듭니다. 그리고 dist 폴더에 넣고 git push heroku master를 실행하면 모든 것이 훌륭하게 작동합니다.Heroku 배치 오류 : './errors/cast'모듈을 찾을 수 없습니다

이 게시물 How to link a folder with an existing Heroku app을 따라갈 수 있도록이 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 폴더 문제는 거의 확실하게 당신이 필요로하는 모든 파일을 체크하지 않은 것입니다

{ 
     "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" 
     } 
     } 

답변

3

에서 내 packages.json입니다. git 저장소에서 문제가 보이지 않으면 을 실행하고 cd, lsmore을 사용하여 Heroku에 무엇이 배포되고 있는지 살펴보고 누락 된 부분을 확인하십시오.

require('./errors/cast')이 (가) 있지만 캐스팅 파일을 체크인하지 않은 것이 문제 일 수 있습니다.

업데이트 :

다른 가능성은 대소 문자를 구분하지 않습니다 OS의 X에 ./errors/Cast 체크하지만 파일은 대소 문자를 구분하는 리눅스에서 찾을 수없는 것입니다.

+0

케이스 insensintive/sensitive 부분이 나에게 같은 문제를 해결했습니다. – Fabio