不区分大小写的导入冲突:“ github.com/sirupsen/logrus”和“ github.com/Sirupsen/logrus”

时间:2018-06-28 16:26:50

标签: 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后的

如果您有任何建议可以指导我解决此事件

1 个答案:

答案 0 :(得分:3)

该程序包经历了非常痛苦和遗憾的事情,重新命名了一段时间。它以前是Sirupsen/logrus,并已重命名为sirupsen/logrus。某些人错误地认为后者是惯用法,但是Go可以毫无问题地处理大小写混合的情况,因此不需要重命名,因此作者regrets it。但是重命名只会增加混乱,因此决定使用不必要的小写版本。

但这就是过去。此时,小写版本是只能工作的一个

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

来自project readme

  

区分大小写

     

该组织的名称已更改为小写-不会更改回该名称。如果由于大小写敏感而导致导入冲突,请使用小写导入:github.com/sirupsen/logrus。

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