말도 많고 탈도많은 Next.js..
뜨라블슈띵도 하나하나씩 적어보고자 합니둥-!
가 보 도 록 하 자 gu-yo.
뜨라블 슈팅 - 파일 이름 대소문자 충돌 문제
문제 상황
.ts와 .tsx 이것저것 쓰다보니...
내다버린 대소문자 구분...
막바지에 하다보니 생각나 버렸죠..?
그래서 다시 으아아아아 하면서 바꿨는데...
띠용... 왠걸 뻘건줄이 뜨더니 위의 이미지처럼 대소문자만 다르다며 인정을 안해준다는 것이었다...!!!!
알고보니 내가 사용하는 맥북과 같은.. macOS의 파일 시스템은
기본적으로.. 대소문자를 구분하지 않는돠....!!!!!
그래서 시뻘건 에러로 충돌을 보여준다고... ㅠㅡㅠ
원인 분석
우선 원인을 3가지로 나누어 생각해보았다.
- 대소문자 혼용
파일 이름이 대소문자를 혼용해버리는 바람에.. champion.ts와 Champion.ts 가 구분이 가지 않았을 것이다! - import 경로 불일치
코드에서 @/types/champion와 @/types/Champion이 혼용되어 우리의 콤퓨따가 제대로 읽지 못했을 것이다! - Git 문제
Git은 대소문자 변경을 추적하지 못해가지고.. 이름 변경이 반영되지 않을 수 있다!!
해결 방법
- Git 충돌방지 + 파일명 변경 반영하기
Git은 바보라서 대소문자 변경만으로는 파일 이름 변경을 인식하지 못하므로...
아래 명령어를 사용해 변경사항을 강제로 반영하도록 만들어주었다.
[기존 -> 수정될 글자 순으로 작성하기!! (중요)]
git mv src/types/Champion.ts src/types/champion.ts
git commit -m "fix: 파일 이름 대소문자 통일"
결과
파일 이름 및 import 경로의 대소문자 충돌이 해결되어 빌드 및 개발 환경에서
더 이상 시뻘건 충돌 에러가 발생하지 않았다!! (이얏호!)
추가 - git config 어짜고는 왜 안되었을까...
실은 예전에도 버셀 배포나 이미지 업로드 시, 대소문자 이슈로 인해 여럿 문제가 났었던 림졍.
해당 트러블 슈팅 이전, 과거 대소문자 오류났을때 사용했던 git config 의 core.ignorecase 를 적용시키고자 하는데..
git config —local core.ignorecase false
명령어를 터미널에 입력하니, 처음에는 이런 오류가 떴고..
error: key does not contain a section: —local
다음에는 이런 오류가 떠버렸다!! (두둥.)
error: unknown non-ascii option in string: `-—local'
처음 오류 건으로 인해.. 음... 다른 것을 사용해야 하나 싶어
다른 방법을 찾던 중, 위의 뜨라블슈팅처럼 git mv 명령어를 적용했으나...
그래도 지금까지 되었던 친구가 왜 안되지?? 라는 생각에 원인을 찾아보고 싶어졌던 림졍은
원인을 분석해 보았는데...
알고보니 해당 명령어를 보관하고 있던 메모장...에서
복사 후 붙여넣기 과정에서 하이픈(-)이 —(긴 대시) 또는 다른 특수 문자로 변경되어
Git에서 인식하지 못했..다는거 🤦🏻♂️ (어쩐지 안되더라)
결론은 해피엔딩이지만,
명령어를 볼 때에는... 제대로 입력되었는지 다시 한 번 확인할 것을 명심하자라는 깨달음을 얻게 된 이번 트러블 슈팅이랄까...
또한 이번에 작성하면서 알게 된 점으로는
파일 이름 변경 시, 정확하게 경로를 추적하기 위해서는 git mv 를 사용해야 한다는 거~
(core.ignorecase를 false로 설정해도, 대소문자 구분X 파일 시스템에서는 파일명 변경을 Git이 감지하지 못하는 경우도 존재하기 때문)
[출처 : 바로가기 ]
오늘의 뜨라블 슈팅 끝-!
내일도.. 작성해야징 ^-^)b
'React TIL' 카테고리의 다른 글
[React] Day_64 개인 프로젝트 후기 (0) | 2024.12.18 |
---|---|
[React] Day_63 개인 프로젝트 작업 뜨라블슈띵 (2) (0) | 2024.12.17 |
[React] Day_61 데일리 정리 (1) | 2024.12.13 |
[React] Day_60 데일리 정리 (1) | 2024.12.12 |
[React] Day_59 데일리 정리 (1) | 2024.12.11 |