猿问

为什么 go.mod 会随着 go test 不断变化

我想在我的 中添加特定版本的依赖项go.mod,例如

    github.com/dependecy v1.7.0

当我运行go testor时go build,有时它会更新为

    github.com/dependecy v1.8.0

棘手的部分是它有时会改变,有时不会。我们希望固定到旧版本,因为新版本有错误。知道为什么会这样吗?


Cats萌萌
浏览 184回答 2
2回答

繁花如伊

我相信发生这种情况的原因是因为您可能有一个可能需要更高版本的模块的依赖项。从这里的go 文档如果将特定模块的多个版本添加到列表中,则最后仅保留最新版本(根据语义版本排序)以供在构建中使用。您可以尝试文档中列出的命令,或者go build使用-mod=readonly标志运行。这应该可以帮助您了解可能触发此问题的原因。

慕的地10843

Go 模块不支持单个模块中同一包的多个次要版本,如果添加,则最后只保留最新版本以供在构建中使用。您可以拥有一些需要更高版本并替换旧版本的依赖项。如果那里的模块推送了带有错误的 v1.8.0,请根据需要提交错误或分叉存储库。
随时随地看视频慕课网APP

相关分类

Go
我要回答