とある参考書を読んでいたらGoでの解説プログラムが出てきた。実際に手元で動かしてみようとVSCodeでGo環境整備をしていたら以下のエラー。
go: cannot find main module; see 'go help modules' Process exiting with code: 1 signal: false
ターミナルからコマンドで実行すれば問題ないのですが、ちょっと気持ちが悪いので調べて解決しておいた。その時のメモ。
解決方法
setting.jsonに書いた "GO111MODULE": "on",
の設定を"auto"
にする
手順
Code(左上) -> 基本設定 -> Settings
右上にある3つのアイコンのうち、一番左側のボタンでsettings.json
がテキストで開ける。
(変更前)
“go.toolsEnvVars”: {
“GO111MODULE”: “on”,
},
の設定をしていたら"on"
を"auto"
にするか"go.toolsEnvVars"
ごと消す。
(変更後)
“go.toolsEnvVars”: {
“GO111MODULE”: “auto”,
},
原因
GoをVSCodeで開発するための設定 みたいなサイトを適当に見ていたら、GO111MODULE=on
の設定を書きましょう。と出ていたのでそのままコピペしていた。
自分の環境のGoは1.14
$ go version
> go version go1.14.4 darwin/amd64
Go 1.13以降はGO111MODULE=on
の設定が不要になったらしい。
参考: Why does installing a tool via go get fail with error cannot find main module?
まとめ
そんなわけで問☆題☆解☆決! 今回はGoのプログラムをモリモリ動かしたいわけではなく、あくまでテストコードを実行したいだけなのであまり深くは原因究明をしませんでした。 以上!