← Go コース
4. Go モジュール — go.mod による依存管理
現在の Go ではプロジェクトを「モジュール」という単位で管理します。プロジェクトのルートで go mod init モジュールパス と実行すると go.mod というファイルが作られ、ここにモジュール名・必要な Go のバージョン・依存するパッケージとそのバージョンが記録されます。モジュールパスには通常 github.com/ユーザー名/リポジトリ名 のような、配布先を表す文字列を使います。
外部パッケージを使いたいときは、コードで import してから go mod tidy を実行すると、必要な依存が go.mod に追加され、実際に使われた正確なバージョンが go.sum に記録されます。go.sum はチェックサムを保持していて、誰がビルドしても同じ中身の依存が使われることを保証します。これにより再現性のあるビルドができます。
go.mod と go.sum はどちらもリポジトリにコミットして共有します。これらは設定ファイルであり、それ単体で実行できるプログラムではないため、ここでは内容の例を示すだけにとどめます。
サンプルコード(フレームワーク環境が必要なため表示のみ)
// go.mod — モジュールの設定ファイル
module github.com/example/myapp
go 1.22
require (
github.com/google/uuid v1.6.0
)
// よく使うコマンド:
// go mod init github.com/example/myapp … go.mod を作る
// go mod tidy … 依存を整理して go.mod/go.sum を更新