direnvの使い方
概要
- ディレクトリごとに環境変数を設定できる
- 設定した環境変数はサブディレクトリにも引き継がれる
.envrc
に環境変数を直接書くか、dotenv
を使って.env
を読み込む
インストール
macOS (Homebrew)
$ brew install direnv
Nix
$ nix-env -iA nixpkgs.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
使い方
例A: .envrc
に直接書く
$ cd <作業ディレクトリ>
$ echo 'export TEST="you are in direnv"' > .envrc
$ direnv allow .
例B: dotenv
で .env
を読む
$ cd <作業ディレクトリ>
$ echo 'dotenv' > .envrc
$ printf 'TEST=you are in direnv\n' > .env
$ direnv allow .