avatar
sanghyeon.dev.log

env 파일 우선순위

env 파일의 적용 우선 순위 알아보기
5 months ago
·
2 min read

.env 파일을 이용하여 환경 변수를 설정하고, 다양한 환경에서 다른 값을 가지고 프로그램을 실행할 수 있다.

일반적으로 아래와 같은 .env 파일들을 생성해 사용한다.

  • .env: 기본 환경 변수 파일

  • .env.local: local 환경에서만 실행

  • .env.development: 개발 환경에서만 실행

  • .env.development.local: 개발 환경에서만 로드되는 local 에서만 실행

  • .env.production: 프로덕션 환경에서만 로드되는 환경 변수 파일

  • .env.production.local: 프로덕션 환경에서만 로드되는 로컬 환경 변수 파일

💡 .local이 붙으면 일반적으로 버전 관리에서 자동 제외되며, 로컬에서만 필요한 설정을 저장 한다.

Next.js에서는 환경 변수를 로드할 때 특정 우선순위를 따른다. 우선순위는 다음과 같다.

  1. .env.local

  2. .env.[MODE].local

  3. .env.[MODE]

  4. .env

[MODE] 에 들어올 수 있는 값은 다음과 같다.

  • production (start, build시 자동 지정)

  • development (dev시 자동 지정)

  • test (test시 자동 지정)

특정 env 파일 지정

보통 위와 같이 mode가 자동 지정되는데, build를 하는데 production.env 파일이 아닌 development.env 파일에 있는 값을 사용하고 싶을 때가 있다.

다양한 방법이 있지만 env-cmd 라는 라이브러리를 이용해 다음과 같이 사용할 수 있다.

"scripts": {
  "build:dev": "env-cmd -f .env.development.local next build",
},
yarn build:dev

- 컬렉션 아티클






안녕하세요