Open1
MVS
https://encore.dev/guide/go.mod から一部翻訳
プログラムを構築するために、Goはどの依存関係が必要か、どのバージョンを使用するかを正確に知る必要があります。
GoはMVS(Minimal Version Selection)を、どのバージョンを使用するかを決定する予測可能でシンプルな方法として使用します。
MVSは次のように動作します
- 実行を開始したモジュールを"main module"とする
- "main module"が必要とするすべての依存関係を(依存関係の
go.mod
ファイルを使って再帰的に)見つける - 各依存関係には、
go.mod
が明示的に指定した最大のバージョンを使用します。
例
上の例では"main module"はA 1.0
とB 2.1
に依存しています。
B 2.1
はA 1.1
に依存している(B 2.1
のgo.mod
に記載)ので、A 1.1
が使用されることになります。
A 1.1
を使用するのでC 1.1
もプルします。
最終的な依存関係は
A 1.1
B 2.1
C 1.1
となります。