요약

나의 경우에서는 깃 파일 대소문자 변경사항이 잘 반영되지 않아 발생한 오류였다.

이 외에도 단순한 tsconfig 설정으로 해결 할 수 있다고 하니 잘 찾아보는게 중요할거같다

git config core.ignorecase false

git rm -r --cached .

대소문자 설정 뿐만 아니라 캐쉬도 정리해야 git에 잘 반영된다.

 

 

'File name differs from already included file name only in casing' on relative path with same casing

Error TS1149: File name 'C:/Project/frontend/scripts/State.ts' differs from already included file name '../frontend/scripts/State.ts' only in casing. I've triple checked the casing in our referenc...

stackoverflow.com

 

Already included file name differs from file name only in casing...

브랜치를 머지하기 위해 PR을 올렸더니 vercel preview에서 아래와 같은 오류가 발생했다.

 

에러 메시지를 읽어보니 파일명과 관련한 이슈같아서 우선 로컬에 tsc 커맨드를 입력했을 땐 아무런 오류가 발생하지 않았다.

따라서 대소문자 이슈인가 싶어서 대소문자 무시하는 설정을 건드려봤다.

git config core.ignorecase false

근데 딱히 문제가 없어서 스택오버플로우 답변들도 잘 따라가도 봤지만 답이 나오진 않았다.

 

'File name differs from already included file name only in casing' on relative path with same casing

Error TS1149: File name 'C:/Project/frontend/scripts/State.ts' differs from already included file name '../frontend/scripts/State.ts' only in casing. I've triple checked the casing in our referenc...

stackoverflow.com

"forceConsistentCasingInFileNames": false,

 

 

이후엔 원격에 제대로 대소문자 변경사항이 적용되지 않았나 살펴봤더니 아니나 다를까 대문자 파일, 소문자 파일 각각 하나씩 만들어져있어서 없앨 방법을 찾아보니 git config로 캐시를 지워 변경사항을 반영해줘야한다고 한다.

git config core.ignorecase false

git rm -r --cached .

따라서 이 두 명령어를 입력해서 사용했을 땐 캐시된 데이터도 삭제해서 반영시키도록 해야겠다.

 

 

회고

이번에 프로젝트의 주제를 변경해서 전체적인 구조를 다시 만드려고 브랜치를 renewal이라는 브랜치명으로 만들어서 작업했다.

그런데 너무 크게 잡고 만들어서 그런지 작업 구조를 한눈에 파악하고 관리하기 힘들거같아 한번 수정사항을 반영했는데 그래서 그런건지 에러가 많이 튀어나왔고 해결하느라 삽질을 했다.

따라서 이제부터라도 작업 구조를 잘 분리해서 한눈에 파악할 수 있도록 브랜치를 만들고 깃헙 이슈 등등을 잘 활용해서 상세하게 관리하기 위해 단순한 변경사항도 작성해봤다. 

유용한 관리 도구인 만큼 잘 사용해보자.

복사했습니다!