登录
首页 >  Golang >  Go问答

在 Go 中锁定第三方包的特定版本

来源:stackoverflow

时间:2024-04-24 11:54:33 411浏览 收藏

IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《在 Go 中锁定第三方包的特定版本》,聊聊,我们一起来看看吧!

问题内容

使用模块,当我尝试使用以下命令锁定软件包的特定版本时:

go mod edit -require "google.golang.org/[email protected]"

它在 go.mod 文件的 require 部分下显示此内容:

google.golang.org/protobuf v1.10.0

然后当我跑步时:

go mod vendor

它始终会下载最新版本,当前为 v1.24.0。在 go.mod 文件的 require 部分下,它显示:

google.golang.org/protobuf v1.24.0

有没有办法无论如何都锁定特定版本?

我目前使用的是 go 版本 1.14.3。

谢谢!


解决方案


似乎可以告诉 go mod 仅获取指定的版本而不更改版本。

go -mod=readonly mod vendor

可以在以下位置找到:https://github.com/thepudds/go-module-knobs/blob/master/README.md

解决此问题的一种方法是在对 go mod 文件进行特定更改后执行 go build 。这将确保您的代码库中内置了 go.sum 文件。这只不过是您获取的包的校验和。通过这样做,所有未来的拉取将匹配 go.sum 文件的校验和

好了,本文到此结束,带大家了解了《在 Go 中锁定第三方包的特定版本》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>