当前位置:网站首页>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构建而不使用本地
边栏推荐
猜你喜欢
随机推荐
最长公共子串
h264转hls
Introduction and mock implementation of list:list
Comparison between Boda Industrial Cloud and Alibaba Cloud
unity学习(一):自动化创建模板脚本
增量编译技术在Lightly中的实践
Mac安装MySQL详细教程
剑指Offer 16.数值的整数次方 快速幂+ 递归
进程(番外):自定义shell命令行解释器
【网络基础】浏览器输入一个URL之后,都发生了什么(详细讲解)
渗透测试(PenTest)基础指南
idea中创建jsp项目详细步骤
MP4格式分析
js平层数组转树形结构(解决数据处理后源数据篡改)
unity相关的功能链接
双网络安全nvr/布控球,可双向同时接入国网B接口视频监控平台和国标28181平台
DMA相应外设映射
二进制中1的个数
剑指Offer 47.礼物的最大值 动态规划
STM32 CAN 介绍以及相关配置








![开源日志库 [log4c] 使用](/img/f5/cce26f5820155c537f2cd975bafbcd.png)
