direnv
参考:
direnv – unclutter your .profile [Official]
direnv/direnv: Unclutter your .profile – GitHub
使い方
Homebrew で Mac にインストールする。
$ brew install direnv
.bashrc
または .bash_profile
で設定する。
eval "$(direnv hook bash)"
プロジェクトファイルで .envrc
ファイルを作成する。
$ cd my_project $ direnv edit .
.envrc
ファイルを有効化する。
$ direnv allow
参考:
ディレクトリ単位でシェルの環境変数を切り替える direnv | それマグで!
direnv で特定のディレクトリ下の環境変数を定義する | DevelopersIO
ディレクトリごとに環境変数を設定できるコマンドラインツール | ソフトアンテナブログ
direnv を使った環境変数の管理 | 30歳からのプログラミング
direnv でディレクトリ毎に設定を切り替える | 二畳半堂
direnv を使ってみる | CUBE SUGAR CONTAINER
改めて、direnv を使いましょう! | HDE BLOG
direnv で環境 (プロジェクトやディレクトリ) ごとに環境変数を分けるメモ | tweeeety のぶろぐ的めも
direnv でエレガントな開発環境を | 渋谷の片隅で吠える
関数をエクスポートする
export_function() { local name="$1" local aliases_dir="$PWD/.direnv/aliases" mkdir -p "$aliases_dir" PATH_add "$aliases_dir" local target="$aliases_dir/$name" if declare -f "$name" > /dev/null; then echo "#! /usr/bin/env bash" > "$target" declare -f "$name" >> "$target" 2> /dev/null echo "$name \"\$*\"" >> "$target" chmod +x "$target" fi }
参考:
Picking up aliases and functions · Issue #73 · direnv/direnv – GitHub