wslの環境変数設定について

- linux

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に書き込め