воскресенье, 28 февраля 2021 г.

Модули в Golang: команды с поддержкой модулей, go mod verify

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

go mod verify

go mod verify проверяет, что зависимости основного модуля, хранящиеся в кеше модуля, не были изменены с момента их загрузки. Чтобы выполнить эту проверку, go mod verify хеширует каждый загруженный .zip файл модуля и извлеченного каталога, затем сравнивает эти хеши с хешем, записанным при первой загрузке модуля. go mod verify проверяет каждый модуль в списке сборки (который можно распечатать с помощью go list -m all).

Если все модули не изменены, go mod verify распечатывает "all modules verified" ("все модули проверены"). В противном случае он сообщает, какие модули были изменены, и выходит с ненулевым статусом.

Обратите внимание, что все команды, поддерживающие модули, проверяют, соответствуют ли хеши в файле go.sum основного модуля хешам, записанным для модулей, загруженных в кеш модуля. Если хеш отсутствует в go.sum (например, потому что модуль используется впервые), команда go проверяет его хеш, используя базу данных контрольных сумм (если путь модуля не совпадает с GOPRIVATE или GONOSUMDB).

Напротив, go mod verify проверяет, что .zip файлы модуля и их извлеченные каталоги имеют хеши, соответствующие хешам, записанным в кеш модуля при их первой загрузке. Это полезно для обнаружения изменений файлов в кеше модуля после того, как модуль был загружен и проверен. go mod verify не загружает содержимое для модулей, не находящихся в кеше, и не использует файлы go.sum для проверки содержимого модуля. Однако программа go mod verify может загрузить файлы go.mod, чтобы выбрать минимальную версию. Он будет использовать go.sum для проверки этих файлов и может добавлять записи go.sum для недостающих хешей.


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


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

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