go.mod使用不含标签的模块

问题描述

我将gin-gonic用于我的其余API。

我对此有疑问。

最新标签v1.6.3,但在master分支中,有一种我想使用的方法

go.mod中使用master分支来代替最新标签是什么?

注意:

更新:

这是我的go.mod

go 1.15

require (
    github.com/gin-gonic/gin 16cd8cdd4ef9
)

但是当我运行go mod download时,它会自动更改为此


go 1.15

require (
    github.com/gin-gonic/gin v1.6.3-0.20201025090830-16cd8cdd4ef9
    github.com/joho/godotenv v1.3.0
    gorm.io/driver/MysqL v1.0.3
    gorm.io/gorm v1.20.5
)

它正在工作。

解决方法

应该可以通过遵循文档“ How to Upgrade and Downgrade Dependencies

简单的go get example.com/package足以修改go.mod并使用特定依赖项的最新版本。
要将依赖项及其所有依赖项升级到最新版本:

go get -u example.com/package

也就是说:

go get foo已更新为foo的最新版本。
go get foo等效于go get foo@latest —换句话说,如果未指定@latest版本,则默认为@

并且:

一个常见的错误是认为go get -u foo仅获得foo的最新版本。
实际上,-ugo get -u foo中的go get -u foo@latest意味着还可以获得foo的所有直接和间接依赖项的最新版本。

升级foo时,常见的出发点是在没有go get foo的情况下执行go get foo@latest-u (在一切正常之后,考虑使用{{1 }},go get -u=patch foogo get -u=patchgo get -u foo)。