<서론>
- Heroku로 간단하게 앱을 배포하려는데, 에러가 난다. 이유를 찾아보자
<본론>
(1) 지원하는 App을 적절히 사용하여 repository에 push 하는지 확인
==> 임의의 repository에 push 하여 발생하는 문제는 아닌지?
$ git init
$ git add .
$ git commit -m ""
$ heroku create
$ git push heroku master
(2) package-lock.json 이나 yarn.lock 등 종속성 문제는 아닌지 확인
- lock 파일이 2개가 동시에 존재하면 Error 발생 ==> lock 파일 하나를 삭제하자
- 반대로 npm 설정을 해놓고 lock 파일을 삭제하면 발생하는 문제. (본인이 이랬음) ==> lock 파일 재설치하자
(3) Collectstatic 파일에 문제가 있는지 확인
- Collecstatic 파일은 Application에 쓰이는 css, font, js 등 모든 정적 파일을 하나의 경로에 모아줌.
$ heroku config:set DISABLE_COLLECTSTATIC=1
$ git push heroku master
(4) sshkey 가 outdated 하여 발생하는 문제인지?
- sshkey를 업데이트하자
(5) node_modules 폴더를 push 한건 아닌지 확인
- .gitignore에서 node_modules 를 제외시킬 것.
(6) Heroku는 Package.json 을 읽어 동작하므로, git을 동작하는 root 파일 경로에 Package.json 파일이 없으면 Error가 뜸.
==> 즉 ~/Server 나 ~/Client 등 하위 폴더에 Package.json 파일이 있다면 Error 남.
==> root 폴더 경로에서 아래 명령어를 실행하자.
git subtree push --prefix [package 파일이 있는 폴더 이름] heroku master
<이건 예시>
git subtree push --prefix server heroku master
<출처>
- https://stackoverflow.com/questions/8216586/git-heroku-pre-receive-hook-declined
- https://doqtqu.tistory.com/323
- https://nachwon.github.io/django-deploy-4-static/
'Project > Error Management' 카테고리의 다른 글
[Error] MySQL Access denied for user 'user_id'@'localhost' (0) | 2022.11.02 |
---|---|
[Error, Python] pip command error (0) | 2022.11.01 |
[Error Management] 해킹 대응 (0) | 2022.08.12 |
[Error Management] 장애 발생 대응 (0) | 2022.08.05 |
댓글