# #go #dependencies
#Вперед #зависимости
Вопрос:
Итак, у меня следующая ситуация. У меня есть 2 зависимости от моего проекта:
- example.com/a — требуется example.com/c v0.1.0
- example.com/b — требуется example.com/c v0.2.0
Разработчики example.com/c внесены некоторые обратно несовместимые изменения в 0.2.0, в результате чего example.com/a здание обречено на провал, но example.com/b полагается на новые функции, которые example.com/c разработчики добавлены в 0.2.0, поэтому мой проект не удается скомпилировать с обоими example.com/c v0.1.0 и v0.2.0
Разработчики из example.com/c, согласно документации golang, имеют полное право вносить обратно несовместимые изменения, учитывая, что они еще не выпустили версию v1.0.0, поэтому они здесь не виноваты.
Golang использует либо старую, либо новую версию example.com/c, но не оба вместе, так как их основная версия одинакова, что приводит к сбою проекта с любым из них.
У меня нет доступа к example.com/c репо, поэтому я не могу исправить ситуацию здесь, но я могу раскошелиться на репо и использовать свою копию.
Каковы минимальные действия, которые можно предпринять, чтобы я мог использовать обе зависимости в своем проекте параллельно?
Ответ №1:
Каковы минимальные действия, которые можно предпринять, чтобы я мог использовать обе зависимости в своем проекте параллельно?
Ты не можешь. Вы должны «раскошелиться» (т. е. переименовать) один и переписать все.
Урок здесь таков: не полагайтесь на нестабильные вещи. Особенно не переходно.