当前位置:网站首页>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构建而不使用本地
边栏推荐
猜你喜欢
随机推荐
Flame sensor connected with Arduino
全加器高进位和低进位的理解
最长连续不重复子序列 双指针
Basic IO (below): soft and hard links and dynamic and static libraries
BCS演讲实录 | 未来智安CTO陈毓端精讲《XDR扩展威胁检测响应探索与实践》
Beckhoff ET2000 listener use
proteus数字电路仿真——入门实例
对周期内时间段是否重叠进行校验
剑指Offer 04.二位数组中的查找 线性查找
如何搭建私有云盘?
基础IO(下):软硬链接和动静态库
Lightly 支持 Markdown 文件在线编写(文中提供详细 Markdown 语法)
The slave I/O thread stops because master and slave have equal MySQL server ids
unity相关的功能链接
【MQ-3 Alcohol Detector and Arduino Detect Alcohol】
二进制中1的个数
UKlog.dat和QQ,微信文件的转移
Django、Rest framework访问数据库获取数据
网络 7 层架构
Hash table problem solving method