DevOps

direnv를 이용하여 디렉토리에 환경변수 자동 관리하기

stdhsw 2025. 11. 16. 16:27

direnv는 개발 과정에서 특정 환경변수를 팀원과 쉽게 공유하거나, 반대로 중요한 정보를 .gitignore파일에 .envrc 파일을 추가하여 나는 편하게 사용할 수 있지만 다른 사람에게 노출하지 않도록 하기 위해 많이 사용되는 도구입니다.

.envrc 파일을 이용하여 디렉토리에 진입할 때 자동으로 환경변수를 로드하고, 디렉토리를 벗어나면 자동으로 해제되기 때문에 프로젝트별 환경 분리에 매우 유용합니다.

 

macOs에서 direnv 설치하기

macOS에서는 Homebrew로 간단하게 설치할 수 있습니다.

brew update
brew install direnv

 

direnv는 사용 중인 쉘에 “hook”을 등록해야 동작합니다. zsh 사용 중일 때 다음과 같이 설정할 수 있습니다.

echo 'eval "$(direnv hook zsh)"' >> ~/.zshrc
source ~/.zshrc

 

.envrc 파일 만들기

direnv는 해당 디렉토리에 .envrc 파일이 있어야 동작합니다.

# 원하는 경로로 이동하여 .envrc를 생성합니다.
touch .envrc

 

.envrc 내용 작성하기

export GITHUB_TOKEN="ghp_1234567890"
export DOCKER_TOKEN="dckr_1234567890"

 

direnv allow로 활성화하기

direnv를 다음 명령을 실행해 활성화합니다.

direnv allow

 

적용된 내용을 확인합니다.

echo $GITHUB_TOKEN
echo $DOCKER_TOKEN