Заставьте `go get` и` go install` использовать кеш, даже если он старый

Есть ли флаг для go get или go installзаставить их использовать кеш, даже если кеш очень старый / древний? Мы используем образы докеров / многоступенчатую сборку для кеширования зависимостей, и этим исходным файлам могут быть недели или месяцы.

1 ответ

Решение

go.modможет записывать конкретные версии или коммиты, от которых вы зависите. Если вам нужны старые версии вашего deps, укажите их явно в своемgo.mod и вы получаете воспроизводимые сборки, даже если ваши зависимости развиваются.

Использовать go get foo@123456 если вам нужен 123456 совершить ваш foo зависимость.

Использовать go get foo@v0.1.2 если вам нужен v0.1.2версия вашей зависимости. Они будут записаны вgo.mod, и независимо от того, где / когда вы создаете свой модуль, он всегда будет использовать эти версии.

Для получения дополнительной информации см. Go Wiki: Модули: как обновить и понизить версию зависимостей.

Другие вопросы по тегам