2021/12/19

[golang]go.mod の require にリリースバージョンを付けたい

以前、go.mod で特定の commit-id を指定するやり方を調べた。

hiro99ma blog: [golang] go.mod の pseudo-version
https://blog.hirokuma.work/2021/12/golang-gomod-pseudo-version.html

が、よく考えれば普通は pseudo じゃないバージョンを使っているのだ。
そのバージョンの指定方法を調べておくべきだろう。

https://go.dev/doc/modules/gomod-ref#require

require の文法は

require module-path module-version

で、リリースバージョンか pseudoバージョンとのこと。

リリースバージョンってなんじゃ?
git tag でよいのか?

前回の gogo-test4 に v0.1.0 のタグを付けて push。
GitHub のリリースにはしていないが、tags には出てくる。

https://github.com/hirokuma/gogo-test4/tags

で、これを require している gogo-test3 で指定する。

https://github.com/hirokuma/gogo-test3/blob/66a97f39163f91ab9bd945a1c45ff80de37a6d7d/go.mod#L5

go mod tidy してもエラーにならないから、これでよいようだ。

ただ、git tag って push した後でも消したり差し替えたりできると思うので安心しきってはいかんのかもしれんな。