首页 > 解决方案 > 无法构建具有外部模块本地副本的项目

问题描述

我有一个使用外部库的项目,该库中有一个错误。为了修复这个错误,我试图做的是克隆外部库,将它放在项目的子目录中,然后在那里修复它。因此,example.com/example/example/如果外部库是exampleexample.com/example/example/go.modexample.com/example/example/myproject/example/

问题是该项目无法编译。无论何时go build执行,它都会返回一个错误:no matching versions for query "latest". 我发现构建项目的唯一方法是删除go.mod克隆的外部库的文件,但这似乎不正确。那么构建这样一个项目的正确方法是什么?

标签: gogo-modules

解决方案


正确的方法是使用替换指令

这个想法是从顶层go.mod文件替换导入依赖的模块名称,而不改变外部依赖。

所以我所要做的就是添加replace example.com/example/example => ./example顶层 go.mod


推荐阅读