Site icon imagehibiki log

雑多にメモ

ターミナルを終了しても環境変数がリセットされないようにする(WSL+Ubuntu)

ローカル環境を作る際、ターミナルから入力した環境変数はターミナルを終了すると消えてしまいます。

毎回ターミナル起動するたびに環境変数を打ち込みなおすのは面倒なので、direnv を導入し以下のように設定しました。作業環境は WSL + Ubuntu です。

direnv のインストール

sudo apt install direnv

フックを追加

~ にある .bashrc に以下の内容を追記する。

eval "$(direnv hook bash)"

設定を読みこみなおす

source ~/.bashrc

direnv の有効化

.direnv を作成・編集した後は .direnv が無効になっているので、1 回以下の内容を打ちこんで有効化しておく。

direnv allow

参考)

.envrc ファイルの作成

環境変数を設定したいディレクトリに、 .envrc ファイルを作成し、そこに環境変数を記述する。

.envrc を Git にコミットしないようにする

.gitignore に .envrc を追加する。

または、git-secrets を使うのもあり。

参考)

確認する

Ubuntu を開いて確認する。以下のように direnv: loading~ とあれば OK。

Image in a image block