OS별 대소문자 구분에 따른 배포 Error(vercel 'module not found')

pengooseDev·2023년 3월 28일
0
post-thumbnail

문제의 시작

팀원분이 modal 컴포넌트 작업을 하시고 upstream에 PR을 날리신 코드를 merge 후 받아왔다.
component 내부의 폴더명은 소문자로 쓰는 것이 규칙이었으나, 대문자로 작업이 되어있어 소문자로 바꾼 뒤, 코드 작성을 이어나갔다. window 환경에선 에러가 발생하지 않았지만 vercel에 deploy를 할 때 다음과 같은 에러가 발생했다.


OS에 따른 폴더명 확인

구글링 결과, vercel의 공식문서에서 해당 문제는 언급하고 있는 것을 확인할 수 있었다. local환경에서 에러가 없는 코드이더라도 vercel이 사용하는 OS에선 대소문자에 따른 구분을 진행하고 있기 때문에 문제가 발생할 수 있다는 것이었다.


무슨 OS인데?

명확히 OS에 대해 언급은 하지 않고있기 때문에 GPT에게 해당 오류에 대해 더욱 물어보았다.

macOSWindow 환경에선 대소문자의 구분이 이루어지지 않아 문제가 없었지만, linux 환경에서는 문제가 발생할 수 있다는 것이었다.


소문자로 바꿨는데도 문제가 발생하는데요..?

문제는 여전했다.
맥북을 꺼내 upstream을 clone하고 생성되는 파일들을 확인하였다.

분명 소문자로 바꾼 뒤 upstream에 push하였지만, window 환경은 이에 대한 구분을 하지 않아 변경 내역이 push 되지 않은 것을 알 수 있었다. (최초의 상태는 팀원님이 대문자로 올리신 상황!)


해결

해당 폴더를 삭제하고 해당 시점에서 git을 이용해 staging한 뒤, 다시 소문자로 폴더를 만들어 staging하여 rename 상태로 만들어 push 및 PR을 진행하였다.

기억을 더듬어보니 분명 폴더명을 바꾸었음에도 불구하고 remote 대상이 아니었던 것이나 import 단계에서 VSC가 폴더명의 변화를 못했던 상황들이 기억났다.

그 동안 VSC 자체의 캐싱인가?라고 의심하며 이해하지 못했던 문제점들이 전부 이해되었다. 👍

0개의 댓글