首页  >  文章  >  后端开发  >  使用 GO111MODULE=on 并通过其开发分支更新包时如何解决依赖冲突?

使用 GO111MODULE=on 并通过其开发分支更新包时如何解决依赖冲突?

Barbara Streisand
Barbara Streisand原创
2024-10-28 02:19:02847浏览

 How to Resolve Dependency Conflicts When Using GO111MODULE=on and Updating a Package with its Development Branch?

GO111MODULE=on 错误:解决依赖冲突

当设置 GO111MODULE=on 启用 Go 模块并尝试更新包及其开发时分支,您可能会遇到“错误加载模块要求”消息。此错误表明您尝试更新的包的依赖项存在冲突。

在这种特定情况下,当运行 GO111MODULE=on go get -u github.com/junegunn/fzf@devel 时,错误发生这种情况是因为 fzf 的依赖项之一 gopkg.in/DATA-DOG/go-sqlmock 在其 go.mod 文件中引入了影响版本控制的更改。

go-sqlmock 的 1.3.3 版本删除了该版本来自其 go.mod 路径的后缀。这意味着不再需要明确指示版本,而是将使用最新版本。然而,go-sqlmock 的一些依赖项,例如 gdamore/tcell,仍然依赖于以前的版本控制系统。

因此,当 fzf 尝试使用 -u 更新其依赖项时,它会尝试加载 go- sqlmock 缺少版本后缀并失败。要解决此问题,您可以在开发分支上更新 fzf 时暂时禁用 -u 标志。

GO111MODULE=on go get github.com/junegunn/fzf

或者,您可以等待问题在将来的 tcell 更新中得到解决。已在 tcell 存储库中提出拉取请求来解决此特定冲突。

以上是使用 GO111MODULE=on 并通过其开发分支更新包时如何解决依赖冲突?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn