Ответ
Да, работал с несколькими сложными аспектами go mod:
- Замена зависимостей (replace) – использовал для локальной разработки или подмены версий:
replace github.com/old/module => ./local/module
-
Вендоринг –
go mod vendor+ настройка CI для работы с вендором. -
Конфликты версий – разрешал через
go mod tidyили явное указание версии вgo.mod. -
Private репозитории – настройка
GOPRIVATEи SSH/Git credentials.
Особенно сложно было с indirect-зависимостями, когда транзитивные зависимости конфликтовали. Решалось анализом через go mod graph и ручным указанием версий.