【ディレンブ】
direnv とは?
💡 フォルダに入るだけで環境が整う自動ドアマン
📌 このページのポイント
プロジェクトを切り替えるたびに環境変数を手動で設定するのが面倒なんだけど…
フォルダを離れたらどうなるの?
.envrcって.envファイルとは違うの?
.envrcはシェルスクリプトなんだ。単なるキーバリューだけじゃなくて、`source_env`で別のファイルを読み込んだり、`PATH_add`でパスを追加したり、プログラマブルに書けるのが強みだよ
誰かが悪意ある.envrcを仕込んだらどうなるの?
いい着眼点だね。direnvは新しい.envrcや変更された.envrcを見つけると実行をブロックして、`direnv allow`で明示的に許可するまで有効にならない。セキュリティもちゃんと考えられてるよ
チーム開発だとどう管理するの?
.envrcはGitにコミットして、実際の秘密情報は.envrc.localや.envファイルに書いてignoreする方法が一般的だね。.envrcの中で`dotenv`を使えば.envファイルも読み込めるよ
📖 おまけ:英語の意味
「directory environment」 = ディレクトリ環境
💬 directoryとenvironmentを組み合わせた名前。ディレクトリごとに環境を管理するというコンセプトそのままの名前だよ