業務では1案件だけに集中することはなく、複数案件を切り替えながら作業することもあります.
そういう時に「ディレクトリを切り替えたら環境変数も切り替わると便利だな」と思う時がありますよね.
もし、そう思うのであれば今すぐdirenvをインストールして使いましょう.
direnvのインストール
Homebrewを使っている人はbrew installするだけでOKです.
brew install direnv
Homebrew以外でのインストール方法は、READMEのInstallを参考に実行してください.
設定
READMEのSetupを見て自分が利用しているシェルに合わせた設定を行ってください.
私はzshを利用しているため、以下のコードを.zshrc
に追記します.
# direnvがインストールされている場合のみ実行 if [ "$(command -v direnv)" != "" ]; then eval "$(direnv hook zsh)" fi
また direnv edit
を実行し、各ディレクトリに環境変数を定義する際にEDITOR
に設定されているエディタが起動するため、.zshenv
や.zshrc
などにEDITORを定義する.
export EDITOR=$(where vim)
特定ディレクトリ配下でのみ有効な環境変数を設定する
direnvを利用して環境変数を定義するにはdirenv edit .
を実行し、エディタで.envrc
ファイルを編集します.
今回はAWS_PROFILE
を設定してみます.
export AWS_PROFILE=production
編集が終わり保存し終えたらdirenv allow .
を実行することで、
そのディレクトリ配下のみで.envrc
に定義された環境変数を参照することができます.
おまけ
Gitの除外設定
作成される.envrc
ファイルには場合によってはクレデンシャル情報や、その人固有の情報が設定されることがあるため、
各リポジトリの.gitignoreやグローバルのignoreファイルに定義しておくことを推奨します.
# .gitignore
.envrc
特定ディレクトリをPATHに追加する
.envrc
を定義しているディレクトリにbin
ディレクトリがあり、それをPATHに追加したい時はたまにあります.
そういった時はPATH_add
を利用するのが良いです.
# .envrc
PATH_add bin