GO Module的依赖管理(二)
这里写目录标题一、GO Module依赖管理1. 给Go Module添加新的依赖2.升级或降低依赖版本3.导入或升级主版本不为0或1的依赖4. 删除依赖5. 创建vendor一、GO Module依赖管理1. 给Go Module添加新的依赖例如:添加github.com/sirupsen/logrus依赖更新源码import语句导入github.com/sirupsen/logrus,且在mi
·
一、GO Module依赖管理
1. 给Go Module添加新的依赖
例如:添加github.com/sirupsen/logrus依赖
(1). 更新源码
import语句导入github.com/sirupsen/logrus,且在mian函数中调用logrus包
package main
import (
"github.com/sirupsen/logrus" //当主版本号为0或1时,不需要在导入路径import上增加版本号
)
func main() {
logrus.Println("hello, go module mode")
}
(2). 下载依赖到本地缓存
//下面两条命令会将新增的依赖包下载到本地module缓存,并在 go.mod文件的require中新增此依赖及版本信息, 自动下载最新版本依赖
① 手动增加此依赖
命令:go get github.com/sirupsen/logrus
② 自动分析源码中依赖变化并下载
命令:go mod tidy //更推荐
2.升级或降低依赖版本
若主版本号不同,则两版本不兼容。如V1
.1.3 和V2
.1.3,主版本号1,2不相同,所以不兼容
命令:go list -m - versions github.com/sirupsen/logrus // 查看依赖所有的发布版本
// 方法一:go get 命令升降版本
命令:go get github.com/sirupsen/logrus@v1.7.0 // @后接升级或降低的版本号
// 方法二:go mod tidy
命令:go mod edit -require=github.com/sirupsen/logrus@v1.7.0 //指定所需的依赖版本
命令:go mod tidy //更新依赖
3.导入或升级主版本不为0或1的依赖
升级或降低不兼容版本依赖,同样操作,只需把v7改为所需要的主版本号即可
①以空导入的方式导入V7版本的依赖包
import (
_ "github.com/go-redis/redis/v7" // 符号 “_” 为空导入 ,意味着期望依赖包的init函数得到执行
)
②获取依赖到本地
命令:go get github.com/go-redis/redis/v7 //自动选择v7内最新的版本
4. 删除依赖
①删除 import 中此依赖导入那行信息
import (
_ "github.com/go-redis/redis/v7" //若删除此依赖则删除此行信息
)
②运行命令go mod tidy // 此命令会自动分析源码依赖,将不用的依赖从go.mod和go.sum中移除
5. 创建vendor
一般适用于不方便访问外部网络或CI/CD中
①建立vender目录
命令:go mod vender //实现在vendor下,创建了一份此项目依赖包的副本( vendor/modules.txt 记录了 vendor 下的 module 以及版本)
②基于vendor构建
命令: go build -mod=vendor //增加参数 -mod=vendor ,指定以vendor下的Go Mudule构建而不使用本地
更多推荐
已为社区贡献1条内容
所有评论(0)