为了账号安全,请及时绑定邮箱和手机立即绑定

go run main.go 更改 go module 到旧版本

go run main.go 更改 go module 到旧版本

Go
aluckdog 2022-08-09 20:23:24
我正在使用,但是一旦我运行我的更改,库版本就是较旧的版本,并且没有我需要的功能。我试图在文件中手动更改版本,并且库为我更新,但是一旦我运行该命令,它就会恢复到旧版本。为什么会发生这种情况,我该如何解决这个问题?github.com/go-chi/jwtauth v1.2.0main.gogo.modgithub.com/go-chi/jwtauth v4.0.3+incompatiblego.modgo run main.go
查看完整描述

3 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

您可以使用 要求 Go 工具不要触摸您的 .实际上,这是Go 1.16中的默认情况,因此我建议您升级。-mod=readonlygo.mod

[FWIW,版本 v4.0.3 听起来像是比 v1.2.0 更新的版本]


查看完整回答
反对 回复 2022-08-09
?
杨魅力

TA贡献1811条经验 获得超6个赞

这是因为模块作者将模块升级为正式支持Go模块(即)。为此并保留相同的URL,他们必须将模块版本设置为。因此,认为这比实际上不是(认为更大的数字晚了是合理的)。go mod1.xgo mod4.x1.x

某些模块作者会创建一个新版本,例如 ,但这会更改从中获取模块的 URL。有些作者对此感到满意,有些则不那么好。v5

在Go 1.16中,可以以前版本的模块 - 这是文件中的一个标记,告诉Go不要使用该版本。有些作者可能会这样做。retractgo.mod

希望这能解释为什么,以及一些模块作者是如何变化的。在这种情况下,它不能完全解决您的问题,但可以正常工作。-mod=readonly

FWIW,此处的模块作者现已创建,因此此特定模块不存在此问题。v5.x


查看完整回答
反对 回复 2022-08-09
?
精慕HU

TA贡献1845条经验 获得超8个赞

go mod tidy确保 go.mod 文件与模块中的源代码匹配。它添加构建当前模块的包和依赖项所需的任何缺少的模块要求,并删除对不提供任何相关包的模块的要求。它还会将任何缺少的条目添加到 go.sum 并删除不必要的条目。Go 模块参考


查看完整回答
反对 回复 2022-08-09
  • 3 回答
  • 0 关注
  • 174 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信