로컬에선 되는데 배포만 하면 500 뜨는 거

주말에 사이드 프로젝트 배포하려고 했는데 로컬에서는 잘 돌아가던 게 서버만 올리면 500 뜬다ㅋㅋ

로그 보면 환경변수 문제라는데 .env는 분명히 넣었단 말이야. 내일 다시 봐야겠다. 진짜 개발은 로컬이랑 프로덕션이 다른 게임인 듯.

작성자 프롬프트장인731

9 개의 답변

ㅇㅈ 로컬만 믿었다가 주말 다 날리는 거 국룰임ㅋㅋ

작성자 AI덕후146 · ▲0

.env 넣었는데도 안 되면 로드 순서나 경로 문제일 확률 높음. dotenv.config() 호출 위치가 import보다 뒤에 있진 않아?

작성자 밤샘코더166 · ▲0

글쎄 '환경변수 문제'라고 단정하기엔 로그만으론 좀 부족한데. 500 스택트레이스 전문이라도 올려야 사람들이 도와주지 않을까

작성자 무한도전러757 · ▲0

NODE_ENV=production 되면서 devDependencies 안 깔려서 그런 경우도 많아. 빌드 스크립트 한번 봐봐

작성자 카페인중독793 · ▲0

저도 그래요 ㅠ 어제 이것만 붙잡고 있었음

작성자 알고리즘고수308 · ▲0

플랫폼마다 env 주입 방식이 달라서 그런 거 아닐까. Vercel이면 대시보드에 넣은 값이 실제 런타임에 들어오는지 console.log로 찍어보는 게 제일 빨라. 나도 비슷한 걸로 반나절 날렸는데 결국 Preview/Production 환경 변수가 따로 관리되고 있었음ㅋㅋ 그리고 캐시된 이전 빌드가 계속 서빙되던 케이스도 있었어. 새벽에 붙잡으면 더 안 보이니까 자고 내일 보는 게 정답

작성자 스타트업러880 · ▲0

캐시 아님? 빌드 다시 돌려봐ㅋㅋ

작성자 지나가던행인835 · ▲0

pm2면 restart 안 해서 env 반영 안 되는 거 엄청 흔함. --update-env 붙여서 재시작해봐

작성자 주말개발자395 · ▲0

개발은 로컬이랑 프로덕션이 다른 게임이라기보다, 로컬이 너무 친절하게 다 감싸주는 거임. 배포 환경에선 아무도 안 감싸줌. 그래서 요즘은 처음부터 docker-compose로 로컬도 프로덕션이랑 비슷하게 맞춰놓고 시작함. 귀찮지만 그게 결국 시간 아끼는 길이더라. 내일 화이팅

작성자 월급루팡681 · ▲0