본문 바로가기
Nodejs

[Nodejs] 환경변수 파일 활용해 환경변수 설정 및 사용하기

by teamnova 2025. 1. 10.
728x90

오늘은 --env-file 옵션과 환경변수 파일을 활용해 node.js 프로세스에서 환경변수 값을 가져와 출력하는 예시를 만들어 보겠습니다.

 

--env-file 옵션은 환경변수를 정의한 파일의 내용을 읽고 process 객체를 통해 nodejs 프로세스 내에서 사용할 수 있게 만드는 옵션 명령어 입니다.

 

https://nodejs.org/docs/latest-v22.x/api/cli.html#--env-fileconfig

 

Command-line API | Node.js v22.13.0 Documentation

Command-line API# Node.js comes with a variety of CLI options. These options expose built-in debugging, multiple ways to execute scripts, and other helpful runtime options. To view this documentation as a manual page in a terminal, run man node. Synopsis#

nodejs.org

 

 

1.프로젝트 생성 및 초기

mkdir 생성할 폴더명
cd 방금 생성한 폴더명
npm init -y

=> 원하는 경로에 폴더를 생성하고 해당 폴더로 이동 후 프로젝트 생성 및 초기화 시켜줍니다.

 

 

 

2.환경변수 값 출력할 js파일, 환경변수 파일 생성

touch js 파일명
touch 환경변수 파일명

 

 

 

저는 위 이미지와 같이 생성하였습니다.

 

 

 

 

3.환경변수 파일 내용 작성

# '변수이름=값' 형식으로  한 줄에 키-값 쌍 하나씩 입력해야 합니다.
test_env1=가나다

# 값에 공백이 있거나 여러줄에 걸쳐 값을 입력하고 싶은 경우 '',``,"" 이 따옴표들을 사용합니다.
# 줄바꿈이 되는 구간마다 \n이 들어갑니다
test_env2='여러 줄에 걸쳐서
값을
입력해 보겠습니다' # 실제값: 여러 줄에 걸쳐서\n값을\n입력해 보겠습니다

#같은 키값에 대해 값을 여러번 설정한 경우 맨마지막에 설정한 값이 적용됩니다.
test_env3=하하하
test_env3=호호호 # 위의 하하하 값 말고 호호호가 출력됨

# 쉘스크립트(예를 들어 bashrc 파일 같은) 환경변수 설정시 사용되는 export 명령어를 혹 이 환경변수 파일에 썼다면 nodejs --env-file 옵션에선 무시하고 적용됩니다.
CUSTOM_PATH="/usr/local/bin1"
export CUSTOM_PATH="/usr/local/bin2" # export를 적든 안적든 똑같이 작동함  

# 시스템 레벨, 즉 os 레벨의 환경변수와 이 환경변수 파일의 변수명이 겹친다면 os 레벨의 환경변수 값을 우선시합니다.
SHELL="가나다라마바사아자차카타파하" # 이 값은 출력안됨, os 레벨의 환경변수 값이 출력됨

 

 

 

4.환경변수 값 출력할 js파일 코드 작성

console.log('test_env1 환경변수 값:' + process.env.test_env1);
console.log('test_env2 환경변수 값:' + process.env.test_env2);
console.log('test_env3 환경변수 값:' + process.env.test_env3);
console.log('CUSTOM_PATH 환경변수 값:' + process.env.CUSTOM_PATH);
console.log('SHELL 환경변수 값:' + process.env.SHELL);

 

 

 

 

5. js파일 실행

node --env-file=환경변수파일명 js파일명



 

 

실행 결과

 

환경변수 파일에 정의한 값들을 가져와 출력하는 것을 확인할 수 있습니다.