← 모든 기록
Vercel 환경 변수 적용 안됨 해결 방법 (대시보드 설정 및 재배포) 대표 이미지
문제 해결

Vercel 환경 변수 적용 안됨 해결 방법 (대시보드 설정 및 재배포)

Vercel 배포 시 환경 변수가 적용되지 않는 문제의 원인과 해결 방법을 단계별로 설명합니다. 대시보드 설정과 재배포 필수성을 담았습니다.

Vercel 배포 시 환경 변수가 undefined로 나온다면 로컬 .env 파일만 확인하지 말고 대시보드 등록 상태를 점검해야 합니다. Vercel은 로컬 .env 파일을 직접 읽지 않으며, 저장소 설정을 통해 값을 받습니다. 대시보드에서 환경 변수를 추가한 뒤 재배포하면 적용됩니다. 웹살림에서 다른 배포 문제 해결법도 확인해 보세요.

문제 확인: .env 파일이 Vercel에서 읽히지 않음

Vercel은 깃 저장소를 기준으로 배포합니다. 그런데 대부분의 프로젝트에서 .env 파일은 .gitignore에 포함되어 있기 때문에, 깃에 업로드되지 않아 Vercel 서버에서는 존재하지 않는 파일입니다. 따라서 로컬에서만 환경 변수를 읽을 수 있고, 배포된 환경에서는 undefined 오류가 발생합니다(출처). 이 문제를 해결하려면 Vercel의 프로젝트 설정에서 직접 변수를 등록해야 합니다.

해결 방법

Vercel 대시보드에서 환경 변수를 추가하고 코드를 확인하는 단계별 가이드입니다.

1. Vercel 대시보드에서 환경 변수 추가하기

프로젝트의 SettingsEnvironment Variables 메뉴로 이동합니다. 여기에 .env에 있던 키와 값을 그대로 입력합니다. Vercel은 저장소 설정을 통해 환경 변수를 받기 때문에, 이 과정이 필수입니다(출처). UI에서 추가한 모든 변수는 기본적으로 Private(비공개)로 처리되므로, 서버에서만 접근 가능합니다(출처).

2. 공개 변수는 PUBLIC_ 접두사 사용하기

클라이언트 사이드에서도 접근해야 하는 값(예: 공개 API 엔드포인트)이 있다면, 변수명 앞에 PUBLIC_를 붙이고, 코드에서는 $env/static/public에서 import 하세요. 이 방식은 로컬 개발과 동일하게 Vercel에서도 작동합니다(출처).

// 예: src/lib/config.js
import { PUBLIC_API_BASE } from '$env/static/public';

export const apiClient = {
  base: PUBLIC_API_BASE
};

3. 환경 변수 추가 후 반드시 재배포하기

환경 변수를 대시보드에서 추가했더라도, 적용을 위해서는 반드시 재배포해야 합니다. 추가 후 Deploy 버튼을 눌러 새로운 배포를 생성하세요(출처). 이 단계를 건너뛰면 기존 배포에는 새 변수가 반영되지 않습니다.

참고: Vercel 무료 플랜에서도 환경 변수 사용 가능

Vercel은 취미 프로젝트를 위한 무료 플랜(Hobby)을 제공하며, 해당 플랜에서도 환경 변수 기능을 제한 없이 이용할 수 있습니다(출처). 따라서 소규모 프로젝트나 개인 블로그에서도 안심하고 적용하세요.

참고 자료

  • Vercel 환경 변수 미적용 원인 분석 (h-owo-ld.tistory.com, 2026-07-27 확인)
  • Vercel 대시보드 환경 변수 설정 방법 (oneyenee.tistory.com, 2026-07-27 확인)
  • Public 변수 동작에 관한 커뮤니티 답변 (Reddit, 2026-07-27 확인)
  • 환경 변수 추가 후 재배포 필요성 (velog.io, 2026-07-27 확인)