go mod tidy总是安装最新依赖,如何查找哪个模块导致某个包安装最新依赖,提供一个小工具

安装: go install github.com/jan-bar/interesting/findModVer@latest

执行:findModVer d:\myproject

结果如下图所示:

根据结果可以找到哪个依赖导致google.golang.org/grpc v1.45.0使用了这个版本,这样每次执行go mod tidy会自动修改该模块到v1.45.0版本。我看了下github.com/spf13/viper v1.11.0就是用的google.golang.org/grpc v1.45.0版本,因此我可以通过限制viper v1.11.0来限制grpc v1.45.0,这时候执行go mod tidy就会限制grpc v1.45.0。通过我这个小工具可以方便的找到哪些库是因为哪个库导致go mod tidy后修改自己模块的该库到最新版本。

当前也可以在自己库里用如下方法限制版本,但如果该库是公共库,其他人使用时也需要加上这个限制。

go 复制代码
replace (
	google.golang.org/grpc => google.golang.org/grpc v1.45.0
)
相关推荐
念何架构之路2 小时前
Go语言常见并发模式
开发语言·后端·golang
XMYX-03 小时前
26 - Go recover 捕获错误:优雅恢复的真正意义
开发语言·golang
XMYX-07 小时前
27 - Go string 字符串处理与格式化:从底层原理到工程实践
开发语言·golang
lolo大魔王7 小时前
Go 语言原生 SQL 操作 MySQL 超详细全解 + 生产级项目模板(纯官方库无ORM)
数据库·sql·golang
Java面试题总结1 天前
Go 里什么时候可以“panic”?
开发语言·后端·golang
吴声子夜歌2 天前
Go——并发编程
开发语言·后端·golang
geovindu2 天前
go: Lock/Mutex Pattern
开发语言·后端·设计模式·golang·互斥锁模式
码农阿豪2 天前
Go 语言操作金仓数据库(上篇):环境搭建与连接管理
开发语言·数据库·golang
码农阿豪2 天前
Go 语言操作金仓数据库(下篇):SQL 执行、类型映射与超时控制
数据库·sql·golang
~|Bernard|2 天前
五,go语言的内存管理
开发语言·后端·golang