Как избежать косвенных зависимостей в файле go .mod - PullRequest
0 голосов
/ 09 апреля 2020

Я запускаю go build, чтобы обновить мой go.mod файл с помощью библиотеки. Я использую "github.com/gocolly/colly v1.2.0", но я вижу все другие зависимости, говорящие "// косвенный" в конце. Как избежать этого? Вот мой go .mod файл

   module prodenv

go 1.13

require (
   github.com/PuerkitoBio/goquery v1.5.1 // indirect
   github.com/antchfx/htmlquery v1.2.2 // indirect
   github.com/antchfx/xmlquery v1.2.3 // indirect
   github.com/antchfx/xpath v1.1.5 // indirect
   github.com/gobwas/glob v0.2.3 // indirect
   github.com/gocolly/colly v1.2.0
   github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e // indirect
   github.com/kennygrant/sanitize v1.2.4 // indirect
   github.com/saintfish/chardet v0.0.0-20120816061221-3af4cd4741ca // indirect
   github.com/temoto/robotstxt v1.1.1 // indirect
   golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e // indirect
   google.golang.org/appengine v1.6.5 // indirect
)

1 Ответ

4 голосов
/ 09 апреля 2020

К сожалению, вы не можете избежать их. Косвенная зависимость - это, в основном, зависимость, которая не была указана в go.mod вашей прямой зависимости, но все еще требуется для нее.

В вашем случае это происходит, потому что вы используете github.com/gocolly/colly v1.2.0 в качестве зависимости и v1.2.0 этот пакет не является модулем, поскольку он не содержит go.mod, поэтому все его зависимости являются косвенными и перечислены в вашем go.mod с тегом indirect.

Обратите внимание, что colly имеет go.mod в> = v2.0.0 , поэтому, если вам потребуется эта версия, эти зависимости не будут перечислены как косвенные в вашем go.mod.

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