direnv - 폴더별 환경관리

Tags: shell

July 05, 2021

direnv는 각 디렉토리마다 환경변수를 다르게 설정할 수 있는 기능을 제공한다. 여러 프로젝트를 동시에 진행할 때 프로젝트마다 AWS Token이나 다른 환경변수가 다른 경우가 있다. direnv를 사용하면 프로젝트마다 다른 환경변수를 사용하는 것이 가능하다.

Install direnv

# install on mac
$ brew install direnv

Configure shell

## BASH -> ~/.bashrc에 아래 내용 추가
eval "$(direnv hook bash)"

## ZSH -> ~/.zshrc에 아래 내용 추가
eval "$(direnv hook zsh)"

Configure .direnv

$ cd project_dir
$ touch .envrc
# update .envrc
$ echo 'export HELLO=world' > .envrc
$ direnv allow

Reference