首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止“to”更新最新版本的模块

如何防止“to”更新最新版本的模块
EN

Stack Overflow用户
提问于 2020-10-14 11:39:41
回答 1查看 2.3K关注 0票数 1

我在一个大型项目中使用一个名为"雅基“的开源项目。

我需要使用"yaegi":v.0.8.11的旧版本,所以我修改了go.mod文件并替换了:

github.com/traefik/yaegi v0.9.2 // indirectgithub.com/containous/yaegi v0.8.11

但是,当我构建项目时,它开始更新所有模块并将其替换回最新版本:

代码语言:javascript
复制
root@ubuntu:~/myproj1# go build main.go
go: finding module for package github.com/traefik/yaegi/stdlib/unsafe
go: finding module for package github.com/traefik/yaegi/stdlib
go: finding module for package github.com/traefik/yaegi/interp
go: found github.com/traefik/yaegi/interp in github.com/traefik/yaegi v0.9.2

如何防止它,并使用旧版本的v.0.8.11保持它

朗读根据要求的说法

go命令本身自动更新go.mod文件,以维护标准格式和require语句的准确性。 任何找到陌生导入的go命令都将查找包含该导入的模块,并自动将该模块的最新版本添加到go.mod中。… 任何go命令都可以确定缺少模块需求,必须添加…。。

也许有办法绕过它?

EN

回答 1

Stack Overflow用户

发布于 2020-10-14 17:07:36

//indirect in go.mod意味着您要导入的其他模块中至少有一个依赖于该版本的模块,因此go build将自动更新该模块,无论您如何更改go.mod中的该行。在您的情况下,如果您不想使用yaegi模块的v0.9.2,您必须首先从您的项目中消除依赖于该模块的其他依赖项,然后修复您的go.mod以使您的项目需要yaegi v0.8.11。您可以通过使用它们的旧版本或编辑它们的源代码来删除它们,或者使它们需要更早版本的yaegi。另外,我不会直接编辑go.mod,而是运行类似于go get -v github.com/containous/yaegi@0.8.11的代码来签出某个特定版本的模块。

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

https://stackoverflow.com/questions/64352451

复制
相关文章

相似问题

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