direnvってなに
- ディレクトリに移動したときに処理をhook出来る
- .envrcというファイルにbashスクリプトを書くと、そのディレクトリに移動した時にそれが実行される
便利さ
- プロジェクト固有の環境変数(
PERL5LIB
とか)をセットしたり - pythonのvirtualenvをactivateし忘れずに済むようにしたり
direnvを使い始める
インストール
$ brew install direnv
.bashrc
# .bachrc
export EDITOR=vim
eval "$(direnv hook bash)"
使い始める
$ direnv edit .
# 例: このディレクトリに来るたびに日時が記録される
echo `date +'%Y%m%d-%H%M'` >> ./envtime
# python virtual env
source bin/activate
うっかり direnv edit
以外で.envrcファイルを更新しちゃった場合
エラーが出るので言われた通りにする
direnv: error .envrc is blocked. Run
direnv allow
to approve its content.
$ direnv allow