登录
首页 >  Golang >  Go问答

如何自动更新依赖项而不指定特定标签-使用Go模块

来源:stackoverflow

时间:2024-02-12 20:18:24 266浏览 收藏

哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《如何自动更新依赖项而不指定特定标签-使用Go模块》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!

问题内容

一般来说,我会标记依赖项并在 go.mod 文件中要求它,例如:

require (
    private-gitlab.com/domain/common v1.0
)

每当我更新 private-gitlab.com/domain/common 时,我都会为其分配一个新标签,例如 v1.1,然后更改要求

require (
    private-gitlab.com/domain/common v1.1
)

应用微服务架构后,有多个微服务需要这种依赖关系,因此我应该将它们的标签从 v1.0 更改为 v1.1

go模块是否支持latest/snapshot标签(类似于java maven快照),以便它可以自动检测并拉取最新版本的依赖项,例如

require (
    private-gitlab.com/domain/common qa@latest
)

正确答案


go 的模块系统应该提供可重复的构建。因此,未经用户同意,go 工具不能在有更新版本可用的情况下从一个版本任意获取更新版本到另一个版本。

用户必须显式更新依赖项,例如通过运行:

go get example.com/theirmodule@latest

如果您想查看是否有任何依赖项有更新(较新版本),您可以运行:

go list -m -u all

如果您想更新模块的所有直接和间接依赖项(不包括测试依赖项),您可以运行:

go get -u ./...

要更新所有直接和间接依赖项(包括测试依赖项),您可以运行:

go get -u -t ./...

理论要掌握,实操不能落!以上关于《如何自动更新依赖项而不指定特定标签-使用Go模块》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

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