当前位置:网站首页>GO Module的依赖管理(二)
GO Module的依赖管理(二)
2022-08-02 03:35:00 【linyxg】
一、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/[email protected] // @后接升级或降低的版本号
// 方法二:go mod tidy
命令:go mod edit -require=github.com/sirupsen/[email protected] //指定所需的依赖版本
命令: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构建而不使用本地
边栏推荐
猜你喜欢
随机推荐
【LeetCode】Sum
谷粒商城10——搜索、商品详情、异步编排
Hash table problem solving method
rosdep update失败解决办法(亲测有效)
剑指Offer 36.二叉搜索树与双向链表 中序遍历
MQ-5 combustible gas sensor interface with Arduino
防抖和节流(实例讲解)
v-model修饰符
Gartner 权威预测未来4年网络安全的8大发展趋势
Lightly 支持 Markdown 文件在线编写(文中提供详细 Markdown 语法)
如何用 Lightly 进行 Debug 断点调试?
【多线程】线程安全保护机制
如何搭建私有云盘?
剑指Offer 32.Ⅰ从上到下打印二叉树
STM32F4 CAN 配置注意的细节问题
Altium Designer Basics
笔记本电脑充电问题
JS从扁平array转tree
IDEA2021.2安装与配置(持续更新)
【TCS3200 color sensor and Arduino realize color recognition】








