LoginSignup
7
8

More than 5 years have passed since last update.

ディレクトリごとに環境変数を設定するdirenvをMacで使う

Last updated at Posted at 2016-08-11

環境変数をディレクトリごとに切り替えたい時に便利だったのでメモっておきます
環境はOS X El Capitan(10.11.4)でbrew使ってます

GitHub direnv

インストール

homebrew使ってインストールします

brew install direnv

設定

お使いのshellに合わせて設定ファイルを変えてください
僕はzshを使っているので

.~/zshrcの一番下に追加しました

.zshrc
export EDITOR="vim"
eval "$(direnv hook zsh)"

設定読み込み
source ~/.zshrc

EDITORはterminal上でdirenv edit .する時に選択されるエディタです、vim使います

使い方

特定の環境変数を試したいディレクトリを作成

例えば
mkdir ~/test_direnv

test_direnvに入って

direnv edit .

するとvimが立ち上がって.envrcの編集中になります

$GOPATHをいつもとは違う設定にしたい場合
※test_direnv以外のディレクトリで普段のGOPATHが例えば以下のようだったとして

echo $GOPATH

>> /Users/oshikawatakashi/golang

.envrcを次のように編集して保存すると

.zshrc
export GOPATH=`pwd`

test_direnvの中でだけは

echo $GOPATH

>> /Users/oshikawatakashi/test_direnv

このように変更されています、他のディレクトリで出力すると元のままです

※こんなエラーが出る時


direnv: error .envrc is blocked. Run `direnv allow` to approve its content.

言われたとおりにこちらのコマンドを実行して解決

direnv allow

所感

プロジェクトごとにGOPATH切り替える時にかなり便利です

参考

こちらの記事です

direnvを使おう

7
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
8