Post Detail Page

tech

Vercel - Cannot find module ‘파일명’ or its corresponding type declarations.

Cannot find module ‘파일명’ or its corresponding type declarations.

1️⃣ 문제 상황

ignorecase-false-image
Vercel 배포 오류

☹︎ ERROR
Vercel 배포 이후 폴더 경로를 인식하지 못해 내부 파일을 불러오지 못하는 문제 발생

2️⃣ 오류 내용 확인

ignorecase-false-image
로컬, 원격 저장소의 대소문자 파일명 오류

처음에는 URL이 잘못된 줄 알고 baseUrl을 수정하는 등 여러 설정을 변경했었다. 다시 오류를 확인해 보니 모든 에러가 DetailBoard 폴더에서만 발생하는 것을 보고, github에서 폴더명을 확인해 보니 대문자로 적혀있었다..
소문자로 변경한 폴더명이 제대로 적용되지 않았던 것이 문제였다.

3️⃣ 해결 방안

💡 macOS의 경우 기본적으로 대소문자를 구분하지 않는다.
core.ignorecase 설정의 기본값은 true다.

  1. 대소문자 구분 설정 적용:
    git 설정을 변경하여 파일 이름 대소문자를 구분하도록 한다.
git config core.ignorecase false
  1. 폴더 이름 변경 및 커밋:
git mv -f DetailBoard detailBoard
git commit -m "fix: Change folder name to lowercase"
  1. 원격 저장소에 푸시:
    기존 대문자 폴더와 함께 소문자 폴더가 새롭게 생성된다.
git push origin dev
  1. 캐시된 파일 제거:
    인덱스에서 모든 파일을 제거하여 대소문자 변경을 포함한 모든 파일을 새롭게 인식하도록 한다.
git rm -r --cached .
  1. 모든 파일 추가:
    모든 파일을 다시 인덱스에 추가(대소문자 변경된 파일들 포함)
git add .
  1. 변경 사항 커밋
  2. 원격 저장소에 푸시

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