У меня есть проект, в котором две зависимости используют разные версии одной и той же библиотеки. Например, у моего проекта есть зависимость A
и зависимость B
. A
и B
, оба используют общую библиотеку / зависимость X
, но разных версий. A
имеет v1
версию X
и B
v2
версию X
. Итак, теперь, когда я добавляю A
& B
в качестве зависимостей в свой проект, в моем проекте go.sum
есть 2 версии X
.
Я ожидал, что соответствующие версии будут указаны во время выполнения A
и B
. Но это не так. Каким-то образом, когда я запускаю тесты в своем проекте, A
использует v2
из X
, в идеале он должен использовать v1
(потому что в go.mod
из A
явно указано / добавлено v1
). Таким образом, выполнение прерывается, потому что есть много различий в v1
и v2
из X
.
Итак, как я могу явно указать в моем проекте, что использовать v1
из X
по A
и использовать v2
по B
? Есть ли такое положение в модулях go?