IntelliJ IDEA を使っている場合の goenv と GOPATH の設定

Nov 20, 2019 ( Feb 11, 2022 更新 )

いつからかは不明だが、 goenv のバージョンアップをしたら GOPATH のディレクトリ構成が変わってしまったので、追加で設定が必要になった。

結論

  • IntelliJ IDEA を使っていて、 goenv で複数の Go のバージョンの管理をする場合は GOROOTGOPATH の設定をする
    • GOROOT
      • Languages & Frameworks -> Go -> GOROOT
      • (anyenv を使っている場合).anyenv/envs/goenv/versions 配下のバージョンのディレクトリを指定する
    • GOPATH
      • Languages & Frameworks -> Go -> GOPATH -> Project GOPATH
      • GOPATH~/go/<バージョン> を指定する
    • Go Modules を使う場合は Go Modules -> Enable Go Modules Integration にチェックを入れる

goenv と GOPATH

env/ENVIRONMENT_VARIABLES.md at master · syndbg/goenv

goenv は GOENV_DISABLE_GOPATH=1 を設定しない限り、 Go のバージョンごとに別の GOAPTH ディレクトリを参照する。この環境変数を設定すれば、以前のようにどの Go バージョンでも同一の GOPATH ディレクトリを参照するようになる。 しかしながら、このドキュメントに書いてあるように、異なるバージョンの Go で依存関係をいっしょくたに管理するのは避けたほうがよさそうではある…。

IntelliJ IDEA の GOPATH の設定

IntelliJ IDEA では、デフォルトでは ~/goGOPATH として設定されるようだった。前述したように goenv を使っている場合、デフォルトだと ~/goGOPATH としては有効にならないため、

Languages & Frameworks -> Go -> GOPATH -> Project GOPATH

に goenv が作成した GOPATH ディレクトリを指定する。

Return to top