Функциональность Retract Go - отозвать старые версии пакетов как небезопасные, несовместимые или сломанные
У меня проблема с выпуском одного из моих проектов, где мы выполнили выпуск 1.0, но это была ошибка, которую мы позже проанализировали, и наш фактический стабильный выпуск - 0.7, и в будущем мы также будем вносить незначительные изменения, поэтому мы хотим воздержаться наш пользователь использует 1.0, потому что если они это сделают
Лучше я могу реализовать ретракт. Так что, если я поставлю retract для версии 1.0, то с новым выпуском v0.8 это будет работать или мне нужно иметь версию выше 0.1?
У меня возникла путаница после прочтения всей документации, как там упоминается -
To retract a version, a module author should add a retract directive to go.mod, then publish a new version containing that directive. The new version must be higher than other release or pre-release versions; that is, the @latest version query should resolve to the new version before retractions are considered.
1 ответ
Я думаю, вам нужно сделать v1.0.1, который убирает и v1.0.0, и v1.0.1, чтобы получить желаемый эффект. В частности, не вносите никаких изменений в версию, которую вы уже выпустили, есть вероятность, что люди будут получать кешированную копию, а не то, что было зарегистрировано (и если они получат обновленную версию v1.0.0, они получат контрольную сумму несоответствие, так как sum.golang.org, скорее всего, будет иметь контрольную сумму из неизмененной версии).