包管理是 Go 项目开发的重要组成部分。Go Modules 是 Go 1.11 引入的官方依赖管理方案,解决了传统 GOPATH 模式的诸多问题。本部分将详细讲解 Go 的包管理机制。
Go Modules 是现代 Go 项目的标准依赖管理方式。本章讲解:
依赖管理是项目维护的重要环节。本章涵盖:
创建可复用的模块是 Go 开发的常见需求。本章介绍:
初始化模块:
# 创建新模块
mkdir myproject
cd myproject
go mod init github.com/username/myproject
go.mod 文件:
module github.com/username/myproject
go 1.21
require (
github.com/gin-gonic/gin v1.9.0
golang.org/x/crypto v0.14.0
)
依赖管理命令:
# 添加依赖
go get github.com/gin-gonic/gin
# 指定版本
go get github.com/gin-gonic/gin@v1.9.0
# 更新依赖
go get -u
# 整理依赖
go mod tidy
# 下载依赖
go mod download
# 查看依赖
go list -m all
版本号规则:
v0.0.0 - 初始开发版本
v1.0.0 - 正式发布版本
v1.1.0 - 新增功能(向后兼容)
v1.1.1 - Bug 修复
v2.0.0 - 重大变更(不兼容)
预发布版本:
v1.0.0-alpha
v1.0.0-beta.1
v1.0.0-rc.1
私有模块配置:
# 设置私有模块
go env -w GOPRIVATE=github.com/mycompany/*
# 配置 Git SSH
git config --global url."git@github.com:".insteadOf "https://github.com/"