一、什么是GO MODULES?
* go语言依赖管理工具
* 管理你项目用的第三方包(版本、下载、更新)
* 解决:包从哪下、用哪个版本、不会冲突
* Go 1.16+ 默认开启
二、三个核心文件
1. go.mod //项目的身份证 + 依赖清单
记录:
项目名称(模块名)
Go 版本
你用到的所有第三方包 + 版本
2. go.sum依
赖的校验文件(安全哈希)
不用管,自动生成。
3. vendor 目录(可选)
把所有依赖下载到本地目录
三、常用命令
1. 初始化模块(新项目必用)
go mod init 项目名
2. 自动整理依赖
go mod tidy //你写代码 import 了包,执行该命令
.自动下载需要的包
.自动删除没用的包
3. 下载依赖到本地
go mod vendor
4. 把依赖拷进项目 vendor
go mod vendor
5. 查看所有依赖
go list -m all
6. 查看依赖为啥被引入
go mod why 包名
7. 导包报错怎么办?
go mod tidy
8. 如何切换依赖版本?
go get github.com/gin-gonic/gin@v1.8.0
四、go.mod 文件长啥样?(一看就懂)
module demo # 你的项目名
go 1.21 # Go 版本
require (
github.com/gin-gonic/gin v1.9.1 # 第三方包+版本
golang.org/x/net v0.20.0
)
本文为宁采臣原创文章,转载无需和我联系,但请注明来自宁采臣博客http://baijunyao.com
最新评论