суббота, 29 июня 2019 г.

Команды go: go mod why, объяснение необходимости пакета или модуля

Использование:

go mod why [-m] [-vendor] packages...

why показывает кратчайший путь на графе импорта из основного модуля к каждому из перечисленных пакетов. Если указан флаг -m, why обрабатывает аргументы как список модулей и находит путь к любому пакету в каждом из модулей.

По умолчанию, why запрашивает граф пакетов, сопоставленных с "go list all", который включает в себя тесты для достижимых пакетов. Флаг -vendor вызывает необходимость исключать проверки зависимостей.

Выходные данные представляют собой последовательность разделов, по одному для каждого имени пакета или модуля в командной строке, разделенных пустыми строками. Каждый раздел начинается со строки комментария "# package" или "# module", в которой указан целевой пакет или модуль. Последующие строки дают путь через граф импорта, один пакет на строку. Если на пакет или модуль не ссылаются из основного модуля, раздел отображает одну заключенную в скобки заметку с указанием этого факта.

Например:

$ go mod why golang.org/x/text/language golang.org/x/text/encoding
# golang.org/x/text/language
rsc.io/quote
rsc.io/sampler
golang.org/x/text/language

# golang.org/x/text/encoding
(main module does not need package golang.org/x/text/encoding)
$


Читайте также:


Комментариев нет:

Отправить комментарий