Конфликт импорта без учета регистра: "github.com/sirupsen/logrus" и "github.com/Sirupsen/logrus" - PullRequest
0 голосов
/ 28 июня 2018

Я работаю с 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 голосов
/ 28 июня 2018

Эта посылка прошла через очень болезненное и печальное переименование некоторое время назад. Ранее он был Sirupsen/logrus и был переименован в sirupsen/logrus. Последний ошибочно считается более идиоматичным для некоторых, но Go без проблем обрабатывает смешанный импорт, поэтому переименование было ненужным, и автор сожалеет об этом . Но переименование обратно только добавило бы путаницы, поэтому было принято решение придерживаться ненужной строчной версии.

Но это все в прошлом. На данный момент строчной версией является , только работающая .

Наблюдаемое вами поведение обычно является результатом импорта двух (или более) пакетов, которые зависят от пакета logrus, один из которых зависит от более старого имени, а другой - от более нового имени. Поэтому, если у вас есть зависимость, в которой в качестве зависимости по-прежнему используется заглавная версия, эту библиотеку необходимо обновить.

Из проекта readme :

Чувствительность к

Название организации было изменено на строчные - и это не будет изменено обратно. Если вы получаете конфликты импорта из-за чувствительности к регистру, используйте импорт в нижнем регистре: github.com/sirupsen/logrus.

В качестве альтернативы, вы можете продать старую версию библиотеки с заглавным именем импорта и обновить все ваши импорты, чтобы использовать эту версию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...