🐡

WindowsのIntelliJでTerminalがユーザー環境変数を読み込まない問題の解決方法

に公開

概要

WindowsのPowerShellでGeminiを使っていたのが、ある日突然Geminiが起動しなくなった。

原因はどうもPathが読み込まれていないっぽい。
最近は環境変数をいじってないし、そもそもWindows Terminalで起動しているPowerShellではGeminiもちゃんと起動する。

PowerShellでは以下のコマンドを実行し、環境変数のPathを確認可能。

$ $env:PATH

なぜか少ない。なぜ少ないかというと、ユーザー環境変数が追加されていない……

解決手順

先に手順から。

  1. IntelliJのTerminalの設定画面(File | Settings | Tools | Terminal)から Environment variables フォームの右端アイコン(Edit Environment variables)をクリック
  2. Include system environment variablesOFFにする
  3. IntelliJを再起動
  4. Include system environment variablesONにする
  5. Path を確認するとユーザー環境変数まで入っている

試行錯誤ログ

ここからは試行錯誤したログ。ダラダラとした書き殴り。


IntelliJのTerminalには環境変数を自分で設定できる箇所がある。

IntelliJのTerminal設定画面

ここが怪しいと踏んでPathを確認すると、やっぱりユーザー環境変数が追加されていない。
Include system environment variables とあるので、もしかしてシステム環境変数だけ?とも思ったけど、よくよく見るとPath以外はユーザー環境変数に設定したものも登録されている。

では他のIntelliJではどうなっているのかと、別にインストールしておいたIntelliJで確認してみる。
するとこちらはGeminiがPowerShellから起動する。Pathは通っているということ。
IntelliJのTerminal設定の環境変数を覗いてみると、果たしてPathにユーザー環境変数が追加されていた。

なぜだか分からないけど、これはどうやら環境変数の取得にしくじったようだ。
経験上、IntelliJはアップデート時の環境移行に失敗することがけっこうある。
というワケで、なんとなくそれだろうなと思いつつ(どちらにしても少し前から発生していたので原因はもう分かりそうにない)、復旧を試みる。

Include system environment variables はおそらく全部自動で設定を取ってくるだろうなと予想した。
そこで一度 Include system environment variables のチェックを外して、Applyし設定を終了してみる。再度設定をONにした。
だが復旧していない。

それでは、と Include system environment variables をOFFにし、IntelliJを再起動。その後設定ON。
Pathを確認するとユーザー環境変数まで入ってそう。

Geminiも無事起動。バンザイ。

まとめ

Windows環境のIntelliJ Terminalでユーザー環境変数が読み込まれない場合は、Include system environment variablesの設定を一度OFFにしてIntelliJを再起動後、再度ONにすることで解決できる。

IntelliJのアップデート後に設定移行がうまく行われないことがあるため、アップデート直後になにか怪しい挙動がある場合は設定を見直すのがトラブルシューティングの第一歩になりそうなのでお試しを。

Discussion