direnv 설치: .envrc 기초, direnv allow, 환경 변수 자동 로드
direnv 설치 후 .envrc allow로 디렉터리별 env 자동 로드.
저마다 다른 API 키·DB URL·PATH가 필요한데 매번 .env를 source하기 귀찮을 때 direnv가 .envrc를 읽어 cd로 변수를 붙였다 뗍니다. macOS/Linux 설치, shell hook, .envrc 기초, direnv allow, 자동 load/unload를 hereink 독자용으로 정리합니다.
검색어: direnv 설치와 .envrc로 프로젝트 환경 변수 자동 로드. direnv 설치, 첫 .envrc, direnv allow, 디렉터리 진출입 시 변수 변화를 확인하면 됩니다.
설치brew · apt
설정.envrc · allow
동작cd in · out
direnv가 해결하는 것
디렉터리별 환경
전역 export 대신 cd에 맞춰 주입·해제.
.env 연동
dotenv_if_exists. 비밀은 git 제외.
공식:
github.com/direnv/direnv,direnv.net.direnv version.
설치
- 1macOS
brew install direnv. - 2Linux
sudo apt install direnv등. - 3hook
eval "$(direnv hook zsh)"in~/.zshrc. - 4fish
direnv hook fish | source.
.envrc 기초
export API_BASE=https://api.staging.example.com
PATH_add ./bin
dotenv_if_existsallow
cd ~/projects/my-app
direnv allow
echo $API_BASE자동 load/unload
cd ~/projects/my-app
cd ~| 방식 | 로드 | 이탈 |
|---|---|---|
source .env | 수동 | 유지 |
| direnv | cd | 해제 |
- 맞음
- 다중 repo, PATH 전환.
- 안 맞음
- CI만이면 Dockerfile.
.envrc 수정 후 반영 안 됨?
direnv allow 또는 direnv reload.
mise와 충돌?
병행 가능. 각 도구 direnv 연동 참고.
Windows?
WSL에서 Linux 절차. PowerShell은 제한적.