go mod特定依赖包处理

自从golang原生支持go mod以后,将golang应用依赖处理统一和标准化了,但是在使用中还是会遇到一些问题,比如以下go.mod

module github.com/wowchemy/starter-blog

go 1.14

require (
    github.com/wowchemy/wowchemy-hugo-modules/wowchemy v0.0.0-20210209220000-aa4fe0c75726 // indirect
    github.com/wowchemy/wowchemy-hugo-modules/wowchemy-cms v0.0.0-20210209220000-aa4fe0c75726 // indirect
)

这是我的博客使用的模板,需要依赖github.com/wowchemy/wowchemy-hugo-modules/wowchemy,可以看到版本号v0.0.0-20210209220000-aa4fe0c75726由tag+commit时间+commit哈希组成,因为github.com/wowchemy/starter-blog新版本存在bug,已经在github.com/wowchemy/wowchemy-hugo-modules/wowchemy中得到修复,所以我需要改一下依赖的版本,当然我可以去查看bug修复的日期以及commit哈希,然后拼接下go mod所支持的格式,但是总感觉不太方便,于是摸索出一种方法,通过commit哈希获取依赖的版本号,具体操作如下:

➜  curl  https://goproxy.cn/github.com/wowchemy/wowchemy-hugo-modules/wowchemy/@v/3cf9f6c.info
{"Version":"v0.0.0-20210215224117-3cf9f6cdeef0","Time":"2021-02-15T22:41:17Z"}

可以看到v0.0.0-20210215224117-3cf9f6cdeef0即是我需要的版本号,开式也很简单

                   |-----------------------依赖项---------------------|   |-哈希-|
https://goproxy.cn/github.com/wowchemy/wowchemy-hugo-modules/wowchemy/@v/3cf9f6c.info 

当然,如果能用信赖项的tag尽量用tag, 这也是go官方建议的做法。

你可能感兴趣的:(go mod特定依赖包处理)