go mod
是 Go 语言自 1.11 引入的模块化依赖管理工具,从 Go 1.16 起成为默认依赖管理方式,取代了早期的 GOPATH
模式。使用 go mod
可以让你更方便地管理项目依赖、版本控制以及模块发布。
一、Go Module 简介
一个 Go Module 是一个包含 go.mod
文件的目录及其子目录,go.mod
文件记录了该项目的模块路径和依赖信息。
二、常用命令
以下是一些常用的 go mod
命令及说明:
命令 | 说明 |
---|---|
go mod init <模块名> |
初始化当前项目为 Go module,创建 go.mod 文件 |
go mod tidy |
清理无用依赖、下载缺失依赖,并更新 go.mod 和 go.sum |
go mod download |
下载依赖包到本地缓存 |
go mod vendor |
将依赖复制到 vendor/ 目录中 |
go mod verify |
校验依赖模块的校验和是否匹配 |
go list -m all |
查看当前模块及其所有依赖模块 |
go list -m -u all |
查看依赖是否有更新版本 |
三、go.mod 文件结构示例
module github.com/yourname/yourproject
go 1.20
require (
github.com/gin-gonic/gin v1.9.0
github.com/sirupsen/logrus v1.9.0
)
module
: 声明模块路径(通常是代码托管地址)go
: 指定 Go 版本require
: 指定依赖模块及其版本
四、常见工作流程
初始化模块
go mod init github.com/yourname/project
添加依赖
直接在代码中引入包,Go 会自动拉取对应依赖:import "github.com/gin-gonic/gin"
然后执行:
go mod tidy
升级/降级依赖
使用go get
命令,例如升级:go get github.com/gin-gonic/gin@latest
或降级:
go get github.com/gin-gonic/gin@v1.7.7
五、go.sum 文件
- 用于记录依赖模块的校验和,确保下载的依赖未被篡改。
- 不建议手动修改,应由 Go 工具自动管理。