如何彻底删除pkg.go.dev上的Go包旧版本信息?
清除pkg.go.dev已删除Go包旧版本的操作方法
pkg.go.dev有独立的模块缓存体系,GitHub端删除版本tag不会自动触发其缓存清理,需要主动操作更新缓存数据,可根据需求选择以下两种方案:
方案一:标记废弃版本(官方推荐)
该方案无需删除版本记录,仅标记版本为废弃状态,不会影响其他依赖该版本的项目正常使用:
- 在当前最新版本的
go.mod中添加retract指令,标记需要废弃的旧版本,示例:retract ( v1.0.0 // 该版本存在缺陷已废弃 v1.1.0 // 该版本已被撤回 ) - 提交改动到GitHub后推送新的版本tag,触发pkg.go.dev拉取最新模块信息后,被标记的版本会自动标注为已撤回,不会出现在默认推荐版本列表中,也不会被
go get默认拉取。
方案二:彻底删除版本记录
如果需要完全清除已删除tag对应的版本信息,按照以下步骤操作:
- 确认GitHub端对应旧版本的tag已完全删除,本地、远程的同名tag均清理完毕
- 本地执行命令拉取最新的模块元数据:
go get example.com/username/pkg@latest - 访问pkg.go.dev的对应包页面,点击页面右上角的「Request update」按钮触发缓存刷新,等待1~2小时后系统会自动同步源站的tag状态,移除不存在的版本记录。
提示:如果刷新24小时后旧版本仍然展示,可向Go模块维护团队提交清理申请,说明对应版本tag已在源站删除,请求协助清理缓存。
内容的提问来源于stack exchange,提问作者twiny
相关产品推荐
相关产品推荐

