我有一个使用go模块的项目。在这里,我需要指定我依赖于库的特定派生类(称为),因为它具有重要的补丁。运行go get -u <my_project>
时,出现编译错误,这显然意味着go接受了主存储库,而不是fork。
然后,我切换到要下载的目录并运行go build
。然后,转到使用的正确版本,编译成功。
您能否告诉我原因是什么以及如何解决?
这是获取的特定命令:
go get -u github.com/planetA/konk
依赖项为“ github.com/opencontainers/runc”。对于这种依赖性,go.mod
包含以下内容:
replace (
github.com/opencontainers/runc => github.com/planeta/runc v1.0.0-rc9.0.20191206160324-51eabe724369
)
require (
github.com/opencontainers/runc v1.0.0-rc9.0.20191206223258-201b06374548
)
有趣的是,在以下命令序列中,第二个go get
不会产生错误
go get -u github.com/planetA/konk
cd ~/go/src/github.com/planetA/konk
go build -tags seccomp
go get -u github.com/planetA/konk
答案 0 :(得分:0)
我有一个类似的问题,我通过拆下叉子本身并制作了一个单独的仓库来解决了这个问题。根据您的用例,这也是一种更干净的解决方案,因为您无需添加太多编辑即可使其工作。您可以通过以下方式实现:
但是,如果您仍然想使用叉子here使之正常工作,那将是很好的参考。