Приходилось ли работать с чем-нибудь сложным в go mod

«Приходилось ли работать с чем-нибудь сложным в go mod» — вопрос из категории Golang, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, работал с несколькими сложными аспектами go mod:

  1. Замена зависимостей (replace) – использовал для локальной разработки или подмены версий:
replace github.com/old/module => ./local/module
  1. Вендорингgo mod vendor + настройка CI для работы с вендором.

  2. Конфликты версий – разрешал через go mod tidy или явное указание версии в go.mod.

  3. Private репозитории – настройка GOPRIVATE и SSH/Git credentials.

Особенно сложно было с indirect-зависимостями, когда транзитивные зависимости конфликтовали. Решалось анализом через go mod graph и ручным указанием версий.