wslの環境変数設定について
wslの環境変数設定でハマった話
先日goの開発ためにwslの環境変数設定デビューしました。そこで【Go】WSL2にGoをインストールする手順 - Zennを参考にgoの環境構築と環境変数設定をしたのですが、.bashrc
に設定を書いてもgo env
で設定変わってないんだけど?となったので、書き残していきます。
wsl(Ubuntu)の環境変数設定について
bash の初期化ファイル .profile, .bashrc, .bash_profile の使い分けと管理方針 - A Memorandumの説明を確認するとlinux(というかUbuntu?)ではログイン後に~/.profileが読み込まれ、さらにbashであれば~/.bashrcが読み込まれます。
したがって、環境変数設定は.bashrc
に書き込むように。という記事がたくさん見つかります。
環境変数ってrootユーザーとそうでないユーザーで異なる?
そこで私は偶然にも/root/.bashrc
を見つけ、設定を書き込んだのですが、go env
の出力が変わらない...
原因はrootユーザーの環境変数が別に設定でき、/root/.bashrc
に書き込んだ内容はrootユーザーの環境変数設定となるということでした。
解決策としては当然~/.bashrc
というホームディレクトリ直下のファイルに書き込むことで解決しました。
まとめ
- rootユーザーとそうでない者の環境変数設定は分かれている
- いつもの環境変数については
~/.bashrc
に書き込め