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.local | 1 (최고) | X | 로컬 전용 설정 |
| .env.development | 2 | O | 개발 환경 기본값 |
| .env.production | 2 | X | 프로덕션 설정 |
| .env | 3 (최저) | 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_ 접두사가 붙은 변수만 클라이언트 사이드에서 접근 가능합니다. 나머지는 서버 사이드에서만 사용 가능합니다.