首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当使用-u时,为什么要下载相同软件包的两个版本

当使用-u时,为什么要下载相同软件包的两个版本
EN

Stack Overflow用户
提问于 2022-11-22 06:54:53
回答 1查看 43关注 0票数 1

我使用go get -u来获得一个依赖于golang.org/x/text@v0.3.7的包。我注意到它首先下载golang.org/x/text@v0.3.7,然后下载golang.org/x/text@v0.4.0

然后我运行了go clean -modcachego get golang.org/x/text,它们下载了v0.4.0 of golang.org/x/text,然后再下载了go get -u entgo.io/ent。这次go没有下载golang.org/x/text@v0.3.7

那么,当最新版本不在本地时,为什么go get -u同时下载旧版本和最新版本,以及当最新版本在本地可用时为什么不下载旧版本?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-22 11:09:10

因为这是一个分两步的过程

  1. 获取依赖关系
  2. 更新依赖项

从编程的角度来看,没有很好的理由将它们合并为“获取最新的依赖项”。

来自go命令文档

-u标志指示get更新模块,提供命令行上命名的包的依赖关系,以便在可用时使用较新的次要版本或补丁版本。

这意味着-u专门处理您要获得的包所依赖的模块,而不是您正在获取的包的模块。

此外,-u似乎不知道Go的成语,即将v0版本中的任何更改视为主要版本更改,因此不能轻松地建议原则上使用-ugolang.org/x/test的自述甚至说:

在达到x/text版本1.0.0之前,次要版本被视为主要版本。因此,从0.1.0到0.2.0被认为是一个主要的版本改进。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74528537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档