Go では、単一リポジトリ内の複数のモジュールにわたるコードを編成できます。ただし、ディレクトリを構造化し、モジュールを効率的にインポートするための最適なアプローチについて疑問が生じます。
1 つの方法では、ルートの go.mod ファイルで replace ディレクティブを使用して、モジュールのローカル ディレクトリを指します。これは機能しますが、バージョン情報は提供されないため、ローカル モジュールが更新された場合に再現性の問題が発生する可能性があります。
再現可能なビルドの場合、モジュールのバージョンを管理するためのいくつかのオプションが存在します。
go.work ファイルにより、複数のモジュールにわたるローカル開発が可能になります。ただし、go.mod ファイルで指定されたモジュールのバージョンをオーバーライドすることができます。 go.work を使用することの影響を理解し、バージョン処理のベスト プラクティスと一致していることを確認することが重要です。
リポジトリ構造を整理するには、さまざまなアプローチがあります。
最適なアプローチは、プロジェクトの規模と複雑さによって異なります。大規模なプロジェクトの場合は、コミットベースまたはタグベースのバージョン管理と、ローカル開発用の Go ワークスペースの使用をお勧めします。小規模なプロジェクトの場合は、replace ディレクティブで十分な場合があります。
以上が単一リポジトリ内で複数の Go モジュールを最適に管理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。