2025. 8. 20. 11:47ㆍ문제 해결 및 Tip
문제 정의
- 로컬에서 npm run build 를 하여 빌드시 오류를 체크하였으나 문제 없었음.
- commit 후 깃허브 레포지토리에 푸시
- 깃허브 action 이 실행
- 깃허브 quality-check 과정의 아래 빌트테스트에서 오류 발생
깃 허브 action 에서의 빌드 테스트 코드
- name: 빌드 테스트
run: npm run build

정보 수집
- 절대경로 인식오류 인가? (NO!)
vite.config.ts 파일에 절대경로 설정이 되어 있음
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import tailwindcss from '@tailwindcss/vite'
import path from 'path'
// https://vite.dev/config/
export default defineConfig({
plugins: [react(), tailwindcss()],
resolve: {
alias: {
'@': path.resolve(__dirname, 'src'), // @를 src로 매핑
},
},
})
그리고
tsconfig.app.json 에도 설정이 된 상태!
"baseUrl": "src",
"paths": {
"@/*": ["*"]
}
디버깅
1. 디버깅 (GitHub Actions 로그 추가)
- name: Print file list
run: find src/mystudymockdata -type f
GitHub Actions가 실제로 해당 경로의 파일을 확인 한다.
2. 깃허브 에 push를 하여 디버킹 코드를 github action 에서 실행 시켜준다.
3. github action 디버깅 출력 결과

실제 파일은 존재 하는 상태 이나
✅ 깃허브 액션에서만 파일명 첫글자가 대문자로 인식되는 상황
- 깃허브 액션에서 나타나는 파일명 (대문자) : InboxMessageData.ts
- Import 해오는 컴포넌트에서 불러오는 코드 (소문자)
import { inboxMockData } from '@/mystudymockdata/inboxMessageData' // 파일명 첫글자 소문자
3. 로컬에 저장된 파일명 (소문자): inboxMessageData.ts
✅ 정리하자면
- 로컬에서는 파일명이 inboxMessageData.ts ← 소문자 i
- 하지만 GitHub Actions(Linux) 환경에서는 InboxMessageData.ts ← **대문자 I*로 인식되고 있음
🧨 문제점 파악
📍 macOS는 기본적으로 대소문자 구분 안 함 (대부분의 디스크 설정 기준)
→ Inbox.ts와 inbox.ts가 같은 파일로 인식됨
🐧 GitHub Actions는 Linux 환경 → 대소문자 엄격히 구분
→ Inbox.ts와 inbox.ts는 완전히 다른 파일
- 즉 처음에 대문자로 InboxMessageData.ts 파일을 생성하여 커밋 후 깃허브에 올라간 상황!
- 이건 컴포넌트가 아니라서 소문자로 파일명 수정 inboxMessageData.ts
- 하지만 로컬과 git에서는 파일명 변경을 인식하지 못한 상황에서 커밋 후 push 하였으나,
- 이전 파일명 InboxMessageData.ts 로 올라 가게 됨
조치 방안 작성과 구현
1️⃣ 로컬에서 Git이 대소문자 변경을 감지 못하는 문제 해결
Git은 기본적으로 파일명이 대소문자만 바뀌면 변경으로 간주하지 않음
→ 따라서 아래처럼 강제로 rename을 두 번 해야 한다.
# 1. 다른 이름으로 변경 (예: 대체 이름)
git mv src/mystudymockdata/inboxMessageData.ts src/mystudymockdata/temp.ts
# 2. 다시 올바른 이름으로 변경 (소문자 i)
git mv src/mystudymockdata/temp.ts src/mystudymockdata/inboxMessageData.ts
# 3. 커밋
git commit -m "Fix casing issue: InboxMessageData.ts → inboxMessageData.ts"
# 4. 푸시
git push
이렇게 하면 Git이 정상적으로 파일명을 소문자로 인식하고, GitHub Actions에서도 소문자로 처리됩니다.
결과 정리
📍 macOS는 기본적으로 대소문자 구분 안 함 (대부분의 디스크 설정 기준)
→ Inbox.ts와 inbox.ts가 같은 파일로 인식됨
🐧 GitHub Actions는 Linux 환경 → 대소문자 엄격히 구분
→ Inbox.ts와 inbox.ts는 완전히 다른 파일
VSCode에서도 casing 감지하도록 설정하기
.git/config에 아래 설정이 있을 수 있음:
ignorecase = true
→ 이것을 false 로 바꾸면 Git이 대소문자 변경도 감지하게 됩니다
git config core.ignorecase false
'문제 해결 및 Tip' 카테고리의 다른 글
| 특정파일 깃허브 전체 이력 삭제 (0) | 2025.09.30 |
|---|---|
| 카카오 공유하기버튼 구현 (0) | 2025.09.24 |
| Enter 키 이벤트 한글 입력 오류 (1) | 2025.08.20 |
| 무한 스크롤 실행 안됨 ( API 적용 전, mock Data) (2) | 2025.08.18 |
| AWS cloudfront 배포 페이지 새로고침 오류 (0) | 2025.08.18 |