首页 > 解决方案 > 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
)

它正在工作。

标签: gogo-gingo-modulesgo-get

解决方案


这应该可以通过遵循文档“如何升级和降级依赖项”来实现

一个简单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.
实际上,-uingo get -u foogo get -u foo@latest意味着还可以获取所有直接和间接依赖项的最新版本foo

升级 foo 时的一个常见起点是做go get foogo get foo@latest 不做a -u(在一切正常之后,考虑go get -u=patch foo, go get -u=patch, go get -u foo, 或go get -u)。


推荐阅读