</>DevTools

ENV.env 파서

.env 파일 파싱 및 편집

.env 파일 완벽 가이드

.env 파서는 환경 변수 파일(.env)을 파싱해 키-값 테이블로 시각화하고 JSON으로도 변환합니다. 프로젝트 설정을 팀원과 검토하거나, 환경 변수 정의를 확인하거나, .env와 JSON 간 변환이 필요할 때 사용합니다. 주석(#)과 따옴표 처리를 자동으로 지원합니다.

dotenv 규칙 완전 정복

KEY=value 문법 규칙

# 주석은 # 로 시작
DATABASE_URL=postgres://localhost/mydb

# 값에 공백이 있으면 따옴표 사용
APP_NAME="My Awesome App"

# 작은따옴표도 가능
SECRET_KEY='super-secret-value'

# 빈 값
EMPTY_VAR=

# 숫자도 문자열로 저장됨
PORT=3000

환경변수 우선순위 (Next.js 기준)

파일우선순위Git 커밋용도
.env.local1 (최고)X로컬 전용 설정
.env.development2O개발 환경 기본값
.env.production2X프로덕션 설정
.env3 (최저)O공통 기본값
.env.example-O팀 온보딩용 템플릿

보안 — Git 제외와 시크릿 관리

API 키, DB 비밀번호, JWT 시크릿이 담긴 .env 파일은 절대 Git에 커밋하지 마세요. .gitignore에 반드시 추가해야 합니다:

# .gitignore
.env.local
.env.production
.env*.local

팀 온보딩을 위해서는 실제 값 없이 키 목록만 담은 .env.example 파일을 커밋하는 관행을 사용하세요. 프로덕션 환경에서는 Vercel, AWS Secrets Manager, Doppler 같은 시크릿 관리 서비스를 활용하는 것을 권장합니다.

실전 예시: Next.js 프로젝트 환경변수 설정

# .env (공통, Git 커밋 가능)
NEXT_PUBLIC_APP_URL=https://example.com
NEXT_PUBLIC_GA_ID=G-XXXXXXXXXX

# .env.local (로컬 전용, Git 제외)
DATABASE_URL=postgres://localhost:5432/myapp_dev
NEXTAUTH_SECRET=your-local-secret-key
OPENAI_API_KEY=sk-...

NEXT_PUBLIC_ 접두사가 붙은 변수만 클라이언트 사이드에서 접근 가능합니다. 나머지는 서버 사이드에서만 사용 가능합니다.

🔗관련 도구🧰 기타 도구