[mac]zshでdirenvを使用する

カテゴリ: 未分類

direnvコマンドを使用することで、terminalから特定ディレクトリに入ったときのみ環境変数を有効化することができます。

開発環境などで開発プロジェクト(ディレクトリ)ごとに変数の内容を書き換えたいときに便利です。

インストール

macOSの場合、brewコマンドからインストールできる。

brew install direnv

~/.zshrcにdirenvの有効化処理を追加

eval "$(direnv hook zsh)"

動作確認

設定ファイルを作る

mkdir work
echo "export BASE_URL=http://example.com/" > work/.envrc > work/.envrc

移動するとdirenv allowの実行を促される

% cd work
direnv: error .../work/.envrc is blocked. Run `direnv allow` to approve its content

この時点ではまだ.envrcの機能は有効化されていない

% echo $BASE_URL

direnv allowを実行すると、有効化される

% direnv allow
direnv: loading ~/work/.envrc
direnv: export +BASE_URL

% echo $BASE_URL
http://example.com/

ディレクトリを移動すると、環境変数がなくなる。(再度workディレクトリの中に入ると有効化される)

% cd ..
direnv: unloading

% echo $BASE_URL

内容を変更すると再度allowし直す必要がある。

% echo "export BASE_URL2=http://example.com/2" >> work/.envrc

% cd work
direnv: error .../work/.envrc is blocked. Run `direnv allow` to approve its content
Amazonでポイントを賢くGETする方法
Amazonギフト券チャージ で最大2.5%もお得!
こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。