如何解决阻止go mod更新单个依赖项
我在go version go1.14.4 darwin/amd64
上,我有GO111MODULE=on
。
我对Go etcd客户端有依赖关系,其中go.mod需要google.golang.org/grpc v1.29.1
。但是,该库的当前版本为google.golang.org/grpc v1.33.1
。
我可以在项目中运行go get google.golang.org/grpc@v1.29.1
,它会获取所需的grpc版本。但是,一旦我运行go test ./...
,go mod就会拉入不兼容的grpc版本1.33.1,因此测试失败。
我当前的解决方案是使用go "replace"
指令,如下所示:
replace google.golang.org/grpc => google.golang.org/grpc v1.29.1
但是,如果我采用这种方法,使用 my 回购的所有上游内容也必须使用replace指令,否则它们的构建也会失败。这困扰着开发人员使用我的项目,他们要求我不要使用replace指令。
但是,每当我删除replace指令时,每次运行测试时都将mod更新到最新版本。
我想念什么?有更好的方法吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。