GoでMainモジュールエラー

go: cannot find main module; see 'go help modules'

go mod init m
go get -u github.com/sourcegraph/go-langserver

エラーが出るようになった原因

Go 1.11において、GO111MODULE=onを設定している場合

go.modファイルの存在するディレクトリでしかgo getが実行されなくなります。

  • GO111MODULE=onの挙動がGo 1.12から標準になるらしい
  • 今後は上で紹介したような方法や何かしらのツールを使った管理を行う形になるのかも知れません。

※ 前情報通り、Golang1.12からはgo.modファイルがなくてもgo getが実行できるようになりました。そのため今回紹介する手順は必要なくなっているかと思います。