import.meta.env.VITE_* is undefined
Vite 애플리케이션에서 import.meta.env의 환경 변수가 undefined로 보일 때 변수 이름·모드·빌드 시점을 확인합니다.
빠른 답변
- 우선 확인할 원인
- Vite는 클라이언트 코드에 노출할 환경 변수만 정해진 접두사를 사용해 import.meta.env에 넣습니다. 변수 이름, 실행 모드와 개발 서버 재시작 여부가 실제 값과 일치하는지 확인하며 비밀값을 VITE_ 변수로 노출하지 않습니다.
- 먼저 확인할 항목
- 로그 또는 화면에서 `import.meta.env.VITE_* is undefined` 또는 빈 값이 보이는지 확인합니다.
- 적용 범위
- 현재 증상과 본문에 적은 관찰 조건이 함께 확인된 경우문맥: 바이브 코딩
- 출처
- Vite
- 출처 확인일
- 2026-07-27
- 최종 검토
- 2026-07-29
- 수정일
- 2026-07-30
- 정정 이력
- 2026-07-29 이후 기록 없음
- 관련 기술
현재 증상
- 애플리케이션 오류 메시지
- 빌드 성공, 배포 실패
먼저 확인할 항목
로그 또는 화면에서 `import.meta.env.VITE_* is undefined` 또는 빈 값이 보이는지 확인합니다.
`.env` 변수 이름이 `VITE_` 접두사를 사용하는지 확인합니다.
`vite`와 `vite build`가 어떤 mode로 실행됐는지 확인합니다.
환경 변수 파일을 수정한 뒤 개발 서버를 다시 시작했는지 확인합니다.
피해야 할 조치
주의
- 비밀번호·개인 키·서버 전용 토큰을 `VITE_` 변수로 만들지 않습니다.
- 브라우저에서 사용되는 값은 빌드 결과에 포함될 수 있으므로 공개 가능 여부를 먼저 확인합니다.
환경별 원인과 조치
확인 방법
- 브라우저 콘솔 또는 화면에 표시된 변수 이름과 실제
.env변수 이름을 비교합니다. - 클라이언트에 노출할 값이
VITE_접두사를 사용하는지 확인합니다. vite개발 서버와vite build가 서로 다른 mode를 사용하지 않는지 확인합니다..env를 수정한 뒤 개발 서버를 다시 시작하고, 배포에서는 새 빌드가 생성됐는지 확인합니다.
Vite는 클라이언트 소스에서 접근할 환경 변수를 import.meta.env에 노출하지만 비밀값을 보호하는 저장소로 사용하지 않습니다. 값이 보이지 않는다고 서버 비밀값을 접두사만 바꿔 브라우저에 넣지 마십시오.
관찰값 기록
문제가 발생한 URL 또는 화면, 표시 시각, 운영 환경과 최근 변경 사항을 먼저 기록합니다. 화면이나 로그에 오류 문구가 일부만 보이면 앞뒤 문장을 보존하고 비밀번호·토큰·쿠키·개인정보는 가립니다.
다음 항목을 실제 값과 함께 확인합니다.
- 로그 또는 화면에서
import.meta.env.VITE_* is undefined또는 빈 값이 보이는지 확인합니다. .env변수 이름이VITE_접두사를 사용하는지 확인합니다.vite와vite build가 어떤 mode로 실행됐는지 확인합니다.- 환경 변수 파일을 수정한 뒤 개발 서버를 다시 시작했는지 확인합니다.
판정 기준
오류 문구가 일치해도 같은 원인이 확정되는 것은 아닙니다. 웹서버·런타임·운영체제·플랫폼과 최근 변경 사항을 비교하고, 기대한 관찰값이 나오지 않으면 다음 단계로 넘어가지 않습니다. 이 문서는 출처가 확인한 범위만 설명하며, 범위를 벗어난 원인과 조치는 단정하지 않습니다.
안전한 다음 확인
설정·권한·데이터를 변경하기 전에 백업과 되돌리기 방법을 기록합니다. 운영 환경의 방화벽 전체 해제, 인증서 검증 우회, 데이터 삭제, 비밀값 공개를 기본 조치로 사용하지 않습니다. 확인 결과가 문서의 조건과 다르면 관련 Platform·Component 문서와 공식 출처를 먼저 확인합니다.
참고 자료
Vite · 공식 자료 · 확인 범위: import-meta-env, VITE-prefix, development-and-production-modes · 확인일: 2026-07-27