go - 不区分大小写的导入冲突 : "github.com/sirupsen/logrus" and "github.com/Sirupsen/logrus"

标签 go

我正在使用 ory-am/hydra,它让我在 Golang 库 gopkg.in/gorethink/gorethink.v3 中出错,错误如下:

../../../gopkg.in/gorethink/gorethink.v3/cluster.go:10:2: case-insensitive import collision: "github.com/sirupsen/logrus" and "github.com/Sirupsen/ logrus "

添加 go app.go 之后

如果你有什么建议可以指导我解决这个事件

最佳答案

那个包经历了一次非常痛苦和遗憾的重命名。它以前是 Sirupsen/logrus,现在更名为 sirupsen/logrus。后者被一些人错误地认为更惯用,但 Go 处理混合大小写导入没有问题,所以重命名是不必要的,作者 regrets it .但重新命名只会增加困惑,因此决定坚持使用不必要的小写版本。

不过那都是过去了。此时,小写版本是唯一可用的

您观察到的行为通常是导入两个(或更多)依赖于 logrus 包的包的结果,一个依赖于旧名称,另一个依赖于新名称。因此,如果您的依赖项仍然具有大写版本作为依赖项,则需要更新该库。

来自project readme :

Case-sensitivity

The organization's name was changed to lower-case--and this will not be changed back. If you are getting import conflicts due to case sensitivity, please use the lower-case import: github.com/sirupsen/logrus.

或者,您可以使用大写的导入名称供应旧版本的库,并更新所有导入以使用该版本。

关于go - 不区分大小写的导入冲突 : "github.com/sirupsen/logrus" and "github.com/Sirupsen/logrus",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51087620/

相关文章:

json - 解码 JSON 时的零日期

go - 转到结构函数和*

go - 绑定(bind) : cannot assign requested address on UDPclient in local network

csv - 处理 golang 中的特定错误

go - 缩短 Go/Golang 中导入的变量导出?

go - Go本地包中的未定义函数

go - 范围内的范围golang模板

sorting - 在 Go 中使用函数或方法排序?

go - 如何在 Go 中存储 ECDSA 私钥

unit-testing - 如何轻松找出哪些测试失败