Jor*_*ett 3 go dependency-management git-fork go-modules
我有一个非常大的 Go 项目,依赖于github.com/golang/mock. 不幸的是,这个包不再维护,开发人员已指示人们使用位于 的 fork go.uber.org/mock。所以我想用 替换github.com/golang/mock依赖项go.uber.org/mock。
据我了解,这正是 go.modreplace指令的用途(允许您替换依赖项,而不必更改每个文件中的导入路径)。因此,用 fork 替换此模块应该很简单,只需将以下行添加到 my go.mod:
replace github.com/golang/mock => go.uber.org/mock v0.2.0
Run Code Online (Sandbox Code Playgroud)
不幸的是,当尝试运行任何go命令时,这会导致错误:
$ go mod tidy
...
go: go.uber.org/mock@v0.2.0 used for two different module paths (github.com/golang/mock and go.uber.org/mock)
Run Code Online (Sandbox Code Playgroud)
我在这里做错了什么?
如有必要,您可以在此处查看存储库/提交。