背景 依存するモジュールのメジャーバージョンがv2以上の場合に、以下のようにバージョン指定すると $ go get github.com/xxx/yyy@v2.0.1 次のように怒られます。 require github.com/xxx/yyy: version "v2.0.1" invalid: should be v0 or v1, not v2 今回はこの対応方法について説明します。 環境 go 1.16.3 version "vX.X.X" invalid: should be v0 or v1, not v2 原因 go modulesは複数の依存モジュールA, Bが同じ依存モジュールCに依存している場合、AとBのgo.modでより新しいバージョンのCを使おうとします。 メジャーバージョンアップのように後方互換性を持たない場合はどうなるでしょう? そうなると古いメジャーバージョン