Go でのサブモジュールのバージョン管理
Go リポジトリに複数の go.mod ファイルが含まれている場合、サブモジュールのバージョンがどのように管理されるかを理解することが重要です。この例では、go.mod ファイルがルートとサブディレクトリに存在します。これにより、サブモジュールのバージョンがどのようにリリースおよび更新されるかという疑問が生じます。
サブモジュールのバージョン管理
直観に反して、サブモジュールのバージョンは親モジュールのバージョンと必ずしも一致するとは限りません。これらは、同じリポジトリ内の独立したモジュールとみなされます。したがって、ルート モジュールを更新しても、必ずしもサブモジュールが更新されるとは限りません。
Go のタグ付けとリリース管理
サブモジュールのバージョン管理を管理するために、Go は Git タグを利用します。タグは、特定のバージョンのリリース マーカーとして機能します。階層型 Git タグは、サブモジュールのバージョンをマークするために使用されます。指定された例では、vault の最新バージョンは 1.3.3 ですが、vault/api の最新タグは 1.0.4 です。
サブモジュール バージョンの更新
To vault/api サブモジュールを更新するには、go get を使用して最新バージョンを取得するだけです:
<code class="go">go get github.com/hashicorp/vault/api</code>
Go は、go.mod で指定しなくても、最新のサブモジュール バージョンを自動的に検出してインストールします。
結論
複数の go.mod ファイルを操作する場合、サブモジュールのバージョン管理を理解することが重要です。サブモジュールは独自のバージョン管理メカニズムを持つ独立したエンティティであり、サブモジュールを更新するには、バージョンを明示的に指定せずに別の go get コマンドが必要です。階層構造の Git タグは、サブモジュールの特定のリリースをマークするために使用されます。
以上が複数の go.mod ファイルを含む Go リポジトリでサブモジュールのバージョンはどのように管理されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。