微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

撤回 Go 功能 - 撤回旧的包版本,因为它不安全、不兼容或损坏

如何解决撤回 Go 功能 - 撤回旧的包版本,因为它不安全、不兼容或损坏

我的一个项目版本有问题,我们在那里发布了 1.0 版本,但我们后来分析了这个错误,我们实际的稳定版本是 0.7,将来我们也会做一些小改动,所以我们我们希望避免我们的用户使用 1.0,因为如果他们执行 go get project,它将获得 1.0 版本,我们不能要求强制某人使用命令 go get project@v0.7 获得特定版本。

我可以更好地实现撤消,因此,如果我将撤回用于 v 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.

解决方法

我认为您需要制作一个同时收回 v1.0.0 和 v1.0.1 的 v1.0.1 才能获得您想要的效果。具体来说,不要对您已经发布的版本进行任何更改,人们可能会获取缓存副本而不是已签入的内容(如果他们获取更新的 v1.0.0,他们将获得校验和不匹配,因为 sum.golang.org 很可能会使用未修改版本的校验和)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。