• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

direnv

date: 2024-01-11 excerpt: direnv の使い方メモ

tag: direnvlinuxmacOS


direnv の使い方

概要

  • ディレクトリごとに環境変数を設定できる
    • 設定した環境変数はサブディレクトリにも引き継がれる
  • .envrc に環境変数を直接書くか、dotenv を使って .env を読み込む
  • 作成した .envrc は direnv allow . で許可する必要がある
    • 許可していない .envrc は読み込まれない

インストール

macOS (Homebrew)

$ brew install direnv

Debian/Ubuntu

$ sudo apt install direnv

セットアップ

zsh

$ eval "$(direnv hook zsh)"

bash

$ eval "$(direnv hook bash)"

恒久設定(推奨)

  • zsh: echo 'eval "$(direnv hook zsh)"' >> ~/.zshrc && exec zsh
  • bash: echo 'eval "$(direnv hook bash)"' >> ~/.bashrc && exec bash

使い方

例: dotenv で .env を読む

.envrc

dotenv

例: gcloud CLI の環境をカプセル化

.envrc

# gcloud CLI のコンフィグと ADC の出力先をカレントディレクトリ配下に指定
export CLOUDSDK_CONFIG="${PWD}/.gcloud_config"

# 各種 GCP クライアントライブラリ向けに ADC の参照パスを明示
export GOOGLE_APPLICATION_CREDENTIALS="${CLOUDSDK_CONFIG}/application_default_credentials.json"


direnvlinuxmacOS Share Tweet