direnv 사용법

2026. 3. 26. 18:41기타/scripts

728x90
SMALL

zsh에서 direnv (핸즈온)

공식 문서: direnv.net — 아래는 여러 AWS 계정 쓸 때 AWS_PROFILE·kubectl 컨텍스트를 디렉터리마다 고정하는 한 번에 붙여 넣기 예시다. REPO만 본인 클론 경로로 바꾼 뒤 위에서 아래로 실행하면 된다.

# --- 최초 1회: 설치 + zsh 훅 ---
brew install direnv
grep -q 'direnv hook zsh' ~/.zshrc 2>/dev/null || echo 'eval "$(direnv hook zsh)"' >> ~/.zshrc
source ~/.zshrc

# --- 레포 준비 (이 줄만 수정) ---
REPO=/path/to/repo
cd "$REPO"

# --- 루트 .envrc (플레이스홀더는 본인 값으로) ---
cat > .envrc <<'EOF'
export AWS_PROFILE=YOUR_AWS_PROFILE
export KUBECONFIG="${KUBECONFIG:-$HOME/.kube/config}"
kubectl config use-context arn:aws:eks:REGION:ACCOUNT_ID:cluster/CLUSTER_NAME >/dev/null 2>&1 || true
EOF

direnv allow .

# --- terraform/.envrc (루트와 별도 파일, source_up 한 줄. terraform/ 디렉터리 필요) ---
mkdir -p terraform
echo 'source_up' > terraform/.envrc
direnv allow terraform

# --- 확인 ---
cd "$REPO/terraform"
echo "AWS_PROFILE=$AWS_PROFILE"
kubectl config current-context

.envrc 내용을 고쳤으면 그 디렉터리에서 direnv allow 다시 실행한다.

728x90
LIST