Go/go.mod
表示
< Go
go.modは、Go のモジュール管理システムで使用される設定ファイルです。Go 1.11で導入されたGo Modulesの中核となるファイルで、プロジェクトの依存関係を管理します。
go.modの主な役割
[編集]- モジュールの定義
- プロジェクト自体をひとつのモジュールとして定義し、そのモジュール名を指定します。
- 依存関係の管理
- プロジェクトが使用する外部パッケージとそのバージョンを記録・管理します。
- バージョン管理
- セマンティックバージョニングを使用して、各依存関係の具体的なバージョンを指定します。
go.modファイルの基本構造
[編集]module example.com/myproject go 1.21 require ( github.com/gorilla/mux v1.8.0 github.com/lib/pq v1.10.9 ) replace github.com/old/package => github.com/new/package v1.2.3
各行の意味:
module: モジュール名(通常はリポジトリのパス)go: 使用するGoのバージョンrequire: 依存する外部パッケージとバージョンreplace: パッケージの置換指定(開発時やフォーク使用時など)
主なコマンド
[編集]go mod init: 新しいgo.modファイルを作成go mod tidy: 不要な依存関係を削除し、必要なものを追加go mod download: 依存関係をダウンロードgo mod vendor: vendorディレクトリに依存関係をコピー
go.modがあることで、Goプロジェクトの依存関係が明確になり、再現可能なビルドが実現できます。