いつからかは不明だが、 goenv のバージョンアップをしたら GOPATH
のディレクトリ構成が変わってしまったので、追加で設定が必要になった。
結論
- IntelliJ IDEA を使っていて、 goenv で複数の Go のバージョンの管理をする場合は
GOROOT
とGOPATH
の設定をする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 では、デフォルトでは ~/go
が GOPATH
として設定されるようだった。前述したように goenv を使っている場合、デフォルトだと ~/go
は GOPATH
としては有効にならないため、
Languages & Frameworks -> Go -> GOPATH -> Project GOPATH
に goenv が作成した GOPATH
ディレクトリを指定する。