Vercel빌드
Vercel 배포 Module not found — 로컬은 되는데 배포만 실패(대소문자)
Module not found: Can't resolve './Component' (Vercel/Linux only)
한 줄 해결: 로컬(macOS/Windows)은 대소문자를 구분하지 않아 통과하지만 Vercel(Linux)은 구분해 실패하는 것으로, import 경로 대소문자를 파일명과 정확히 맞추면 됩니다.
이런 증상일 때
로컬 빌드·dev 는 멀쩡한데 Vercel 배포 빌드에서만 "Module not found"가 납니다. import 경로의 대소문자나 폴더명이 실제와 미세하게 다른 경우입니다.
원인
- import 경로 대소문자가 실제 파일명과 불일치(예: ./Card vs ./card)
- macOS/Windows 파일시스템은 대소문자 비구분, Linux 는 구분
- git 에 잘못된 대소문자로 커밋된 파일명
해결 방법
1
import 대소문자 일치
import 경로를 실제 파일명과 글자 그대로 맞춥니다.
// 파일이 components/Card.js 면
import Card from './components/Card'2
git 파일명 교정
대소문자만 바꾼 rename 은 git 이 무시할 수 있어 git mv 로 명시 변경합니다.
git mv card.js Card.js3
강제 대소문자 검사
CI 에서 로컬도 Linux 처럼 검사하려면 빌드를 대소문자 구분 환경(컨테이너)에서 한 번 돌려봅니다.
💡 예방: 컴포넌트 파일명 규칙(예: PascalCase)을 정하고 import 시 그대로 따르세요. 로컬에서만 통과하는 대표 함정입니다.
VercelLinux대소문자Module not found배포