Golang更新某库的hash保持版本号不变

因为某些意外错误,存在需要更新golang项目中的 某依赖库的 版本hash, 但希望版本号不发生变化;

1. 删除原有go.sum中hash值

查看go.sum中所需要更新的库,删除其hash值;

2. 清除本项目go mod缓存

在本项目目录中, 仅有一个go.mod;执行命令

go clean --modcache

3. 重新下载相关go mod库组件

执行一下命令, 刷新所有依赖库的缓存,并比对hash

go mod tidy

待所有库下载完成后,发现hash更新完成, 保持了原有依赖库的版本号,但实际引用代码和内容已更新。

4. 问题处理

  • verifying module: invalid GOSUMDB: malformed verifier id
# xxx 表示项目名称
go mod init xxx

这样避免重复报错,即使go env都报错;

# 查看当前go version 版本
go version
# 查看go.mod中go 版本是否一致;可以考虑更新
  • 总是报错invalid GOSUMDB: malformed verifier id
    修改或删除原有的GOPATH路径下的sum文件相关内容. 将对应sum文件, 或者整个目录删除

    #本文对应目录如下, GOPATH="D:\go"
    D:\go\pkg\mod\cache\vcs

发表评论

邮箱地址不会被公开。 必填项已用*标注