登录
首页 >  Golang >  Go问答

拉取 Go 模块的历史版本

来源:stackoverflow

时间:2024-03-25 18:09:37 351浏览 收藏

为了在 Go 模块中使用软件包的最新版本,可以通过命令行或直接编辑 go.mod 文件来指定更具体的依赖项版本。例如,要获取 master 分支上的最新提交,可以使用 "go get github.com/docker/docker/client@master" 命令。然而,直接下载 "master" 或 "latest" 标签有时会获取较早版本的提交。为解决此问题,可以设置 goprivate 环境变量或暂时将版本设置为特定提交。

问题内容

我正在尝试使用 go 模块将新包添加到我的项目中。该包使用 github.com/docker/docker/client 并且在项目之外运行良好。当我运行 go modvendor 时,它会拉取版本 v1.13.1 的 docker 客户端包,该包没有我在代码中使用的一些方法,但在 go 模块中它被标记为最新。如何让 go mod 使用真正最新版本的软件包?


解决方案


Go Wiki: Modules:

需要时,可以使用 go get [email protected]go get foo@mastergo get foo@e3702bed2 等命令或直接编辑 go.mod 来选择更具体的依赖项版本。

如果您需要 master 分支上的最新提交,请使用

go get github.com/docker/docker/client@master

这也让我发疯:下载“master”或“latest”标签通常会下载 head 之前一到两个提交的版本。我找到了答案here

显然正在进行一些缓存;如果您等待一段时间,它通常会开始工作,或者它有助于暂时将版本设置为特定提交。

为了解决这个问题,我设置了 goprivate=github.com/myuser

到这里,我们也就讲完了《拉取 Go 模块的历史版本》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

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