В контексте модулей Go зависимости — это пакеты, которые требуются конкретному модулю. Хотя прямые зависимости явно перечислены в инструкции require файла go.mod, косвенные зависимости добавляются автоматически, когда от них зависит прямая зависимость.
Это может привести к ситуации, когда файл go.mod модуля содержит многочисленные косвенные зависимости, даже если они не используются непосредственно самим модулем. Это может сбивать с толку, и с этим сложно справиться, особенно если включено несколько версий зависимости.
К сожалению, полностью избежать косвенных зависимостей в файлах go.mod невозможно. При использовании модулей Go все зависимости, необходимые для прямой зависимости, будут автоматически добавлены как косвенные зависимости, если не указано иное.
Возьмите пример, приведенный в вопросе:
module prodenv go 1.13 require ( github.com/gocolly/colly v1.2.0 ... )
В этом случае github.com/gocolly/colly v1.2.0 не имеет файла go.mod, поэтому все его зависимости перечислены как косвенные в файле go.mod модуля prodenv.
Чтобы избежать косвенных зависимостей, рекомендуется использовать зависимости, имеющие файлы go.mod. Это гарантирует, что в файле go.mod будут перечислены только те зависимости, которые напрямую используются модулем.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3