Post Detail Page
Vercel - Cannot find module ‘파일명’ or its corresponding type declarations.
Cannot find module ‘파일명’ or its corresponding type declarations.
1️⃣ 문제 상황
☹︎ ERROR
Vercel 배포 이후 폴더 경로를 인식하지 못해 내부 파일을 불러오지 못하는 문제 발생
2️⃣ 오류 내용 확인
처음에는 URL이 잘못된 줄 알고 baseUrl을 수정하는 등 여러 설정을 변경했었다. 다시 오류를 확인해 보니 모든 에러가 DetailBoard 폴더에서만 발생하는 것을 보고, github에서 폴더명을 확인해 보니 대문자로 적혀있었다..
소문자로 변경한 폴더명이 제대로 적용되지 않았던 것이 문제였다.
3️⃣ 해결 방안
💡 macOS의 경우 기본적으로 대소문자를 구분하지 않는다.
core.ignorecase
설정의 기본값은true
다.
- 대소문자 구분 설정 적용:
git 설정을 변경하여 파일 이름 대소문자를 구분하도록 한다.
git config core.ignorecase false
- 폴더 이름 변경 및 커밋:
git mv -f DetailBoard detailBoard
git commit -m "fix: Change folder name to lowercase"
- 원격 저장소에 푸시:
기존 대문자 폴더와 함께 소문자 폴더가 새롭게 생성된다.
git push origin dev
- 캐시된 파일 제거:
인덱스에서 모든 파일을 제거하여 대소문자 변경을 포함한 모든 파일을 새롭게 인식하도록 한다.
git rm -r --cached .
- 모든 파일 추가:
모든 파일을 다시 인덱스에 추가(대소문자 변경된 파일들 포함)
git add .
- 변경 사항 커밋
- 원격 저장소에 푸시
The following untracked working tree files would be overwritten by checkout
1️⃣ 문제 상황
깃허브에서 폴더명이 잘 변경된 것을 확인했으나, main 브랜치로 checkout 할 때 다음과 같은 오류 발생
☹︎ ERROR
error: The following untracked working tree files would be overwritten by checkout: src/components/pages/DetailBoard/BoardCount.tsx src/components/pages/DetailBoard/BoardName.tsx src/components/pages/DetailBoard/BoardSkeleton.tsx src/components/pages/DetailBoard/CardList.tsx src/components/pages/DetailBoard/CardListSkeleton.tsx src/components/pages/DetailBoard/ConfirmDeleteModal.tsx src/components/pages/DetailBoard/ConfirmPasswordModal.tsx src/components/pages/DetailBoard/DeleteCardButton.tsx src/components/pages/DetailBoard/EmojiList.tsx
Please move or remove them before you switch branches.
📌 접근 방식 1: untracked 파일 제거
git clean -fd
git clean -d -f -f
git clean
: git이 추적하고 있지 않는 파일 제거-f
: 제거 강제-d
: 디렉토리 제거
📌 접근 방식 2 : 오류 메시지에 언급된 파일들 일괄 삭제
git rm -f src/components/pages/DetailBoard/BoardCount.tsx
이 방법으로 삭제하면 main 브랜치로 이동할 수 있지만 문제는 rebase 후 다른 feature 브랜치로 이동할 때 똑같은 문제가 발생한다. 탈모 생길 뻔했다...
2️⃣ 문제 해결
stack overflow - error: The following untracked working tree files would be overwritten by checkout ↗️
다양한 방법을 시도해도 해결되지 않아, Stack Overflow 참고해서 해결했다.
대소문자 구분 설정을 다시 true
로 적용하면 문제가 해결된다..🥹
git config core.ignorecase true