envchain
- Mac の keychainにキーバリュー形式で値を保存してくれる。
- 従って、環境変数をファイルにベタガキしなくて良くなる!
$ envchain --set <namespace> <env>
📝 削除したい時には、「キーチェーンアクセス」アプリケーション上で削除する。envchainには削除コマンドが見当たらないので。
direnv
-
所定のディレクトリに移動した際に自動で
.envrc
ファイルを実行して環境変数がロードされ、そのディレクトリを出たら無効化される
以下の方法で設定できる。
(1).zshrc
ファイルを編集。
.zshrc
export EDITOR=code
eval "$(direnv hook zsh)"
(2)所定のディレクトリで$ direnv edit
を実行し、.evnrcファイルを編集する。.envrcの中ではこのような関数を使えるのでcheck it out。
envchain + direnv で実現する安全な環境変数の保存方法
- 有効にしたい環境変数を
$ envchain --set <namespace> <env>
でセット。 - このnamespaceに含まれる環境変数を有効にしたいディレクトリのルートにおいて、
$direnv edit
を実行し.envrc
ファイルを以下のように編集する。
.envrc
direnv_load envchain <namespace> direnv dump
# If you want to use this in a nested envrc structure, this adds envs configured in the parent directory.
source_up ..
終わり!
追記
自分の手元では.env と.envrc を両方おくと、.envrc のみしか