환경변수 (Environment Variable)

별칭: environment variable · 환경변수 · env · .env.local

코드 밖에서 API 키나 배포 환경별 설정값을 주입하는 key-value 설정.

환경변수는 API 키, Supabase URL, 배포 환경별 설정처럼 코드에 직접 박기 곤란한 값을 밖에서 주입하는 방식이다. 로컬에서는 .env.local을 쓰고, Vercel 같은 배포 환경에서는 대시보드나 CLI에서 설정한다.

정의

환경변수는 실행 환경이 프로그램에 제공하는 key-value 설정값이다. 코드 안에 값을 직접 적지 않고, 로컬 개발 환경·preview 배포·production 배포마다 다른 값을 주입할 수 있다.

왜 중요한가

API 키, Supabase URL, OAuth secret, 외부 서비스 토큰은 코드에 직접 넣으면 Git 기록이나 브라우저 번들에 노출될 수 있다. 환경변수를 사용하면 같은 코드가 환경에 따라 다른 설정을 읽고, 민감한 값은 배포 플랫폼의 비밀 설정으로 관리할 수 있다.

Semiclass에서의 의미

신호의 검과 DB 코어 단계에서는 NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY, 외부 API key 같은 값이 등장한다. 수업에서는 "브라우저에 공개해도 되는 값"과 "서버에서만 읽어야 하는 값"을 구분하는 감각을 잡는 것이 중요하다.

주의할 점

이름이 NEXT_PUBLIC_으로 시작하는 Next.js 환경변수는 클라이언트 번들에 포함될 수 있다. service role key나 OAuth client secret 같은 값에는 쓰면 안 된다. 환경변수를 바꾼 뒤에는 기존 배포가 자동으로 바뀌지 않을 수 있으므로 새 배포가 필요하다.

출처