【问题标题】:How can I force to use specific package version while running go mod download?如何在运行 go mod 下载时强制使用特定的包版本?
【发布时间】:2021-03-31 03:01:51
【问题描述】:

go.mod 文件

go 1.13

require (
  ...
  gorm.io/gorm v1.20.5
) 

当我运行 go mod download 时,我的 go.mod 文件变为

go 1.13

require (
  ...
  gorm.io/gorm v1.20.7
) 

如何在运行go mod download 时停止此升级?

【问题讨论】:

  • 你可能做不到。您的其他依赖项之一可能依赖于v1.20.7
  • @Flimzy 感谢您的回复。我会检查的。
  • 使用go mod why查询谁需要这个模块
  • @Flimzy 我的其他软件包依赖于v1.20.7,因此它会自动升级。是否还有其他可能不起作用?
  • 那么您需要将其他依赖项降级为不需要 v1.20.7 的版本。

标签: go


【解决方案1】:

运行代码的时候可以试试-mod=readonly

参考在这里https://golang.org/ref/mod#go-mod-file-updates

-mod=readonly 标志防止命令自动更新 去.mod。然而,如果一个命令需要执行一个动作 更新到go.mod,会报错。例如,如果 go build 是 要求构建构建列表中任何模块都没有提供的包, go build 会报错而不是查找模块和 更新 go.mod 中的需求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-20
    • 2022-11-10
    • 1970-01-01
    • 2020-06-25
    • 1970-01-01
    • 2013-03-19
    相关资源
    最近更新 更多