登录
首页 >  Golang >  Go问答

取消 Go 功能 - 移除不安全、不兼容或损害的旧版包

来源:stackoverflow

时间:2024-02-22 17:27:20 330浏览 收藏

本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《取消 Go 功能 - 移除不安全、不兼容或损害的旧版包》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~

问题内容

我的一个项目版本有问题,我们发布了 1.0 版本,但我们后来分析了这是一个错误,我们实际的稳定版本是 0.7,将来我们也会做一些小的更改,所以我们希望阻止我们的用户使用 1.0,因为如果他们执行 go get project,它将获得 1.0 版本,并且我们不能要求强制某人使用命令 go get [email protected] 来获取特定版本。

我可以更好地实现撤回,因此,如果我对 v 1.0 进行撤回,然后使用新版本 v0.8,它会起作用吗?还是我需要有大于 0.1 的版本?

在阅读了其中提到的所有文档后,我遇到了这种困惑 - 要收回版本,模块作者应该向 go.mod 添加收回指令,然后发布包含该指令的新版本。新版本必须高于其他发布或预发布版本;也就是说,@latest version 查询应在考虑撤回之前解析为新版本。


正确答案


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

本篇关于《取消 Go 功能 - 移除不安全、不兼容或损害的旧版包》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>