登录
首页 >  Golang >  Go问答

未遵守 go.mod 中的 Go 指令

来源:stackoverflow

时间:2024-03-25 12:51:36 177浏览 收藏

在 Go 1.21 之前,`go.mod` 文件中的 `go` 指令仅是建议性的。这表示尽管在 `go.mod` 文件中指定了较新的 Go 版本,但仍可以在较旧的 Go 版本上构建应用程序。然而,在 Go 1.21 及更高版本中,`go` 指令已成为强制性要求,这意味着如果声明的 Go 版本低于系统中安装的版本,Go 工具链将拒绝使用该模块。

问题内容

我有一个应用程序想要强制执行 Go v1.19,因此我在 go.mod 文件中指定了 go 1.19,期望任何 Go 版本为 < 1.19 的系统在构建时都会出现故障。

但事实似乎并非如此。我有另一个带有 Go v1.16.5 的系统,并且 go build 命令也在那里成功。该应用程序正在使用 v1.16 运行

go.mod 文件中的 Go 指令 只是建议性的吗?


正确答案


对于您的 Go 版本,它是建议性的。文档内容如下:

go 指令设置使用该模块所需的最低 Go 版本。在 Go 1.21 之前,该指令仅是建议性的;现在这是一个强制性要求:Go 工具链拒绝使用声明较新 Go 版本的模块。

完整文档在这里:https://go.dev/ref/mod

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

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