Goで作ったライブラリのバージョンアップ手順
初めに
以前Goでクリップボードから画像を取得&保存できるライブラリclipboard-imageを作りました。
ただ、関数名が気に入らなかったので名前を変えてv1->v2にアップしてgo get
したら次のエラーが出ました。
go get github.com/skanehira/[email protected]: github.com/skanehira/[email protected]: invalid version: module contains a go.mod file, so major version must be compatible: should be v0 or v1, not v2
go modules
を使っているからなのか、少々面倒だったのでv1以上にする手順を残しておきます。
手順
以下通りにやれば、バージョンアップできるはずです。
-
ライブラリの
go.mod
に/v2
をつける
変更前module github.com/skanehira/clipboard-image
変更後
module github.com/skanehira/clipboard-image/v2
-
タグをつけてpush
git tag v2.0.0 git push origin --tags
-
利用する側で
go get module/v2
go get github.com/skanehira/clipboard-image/v2
-
importにバージョンをつける
import ( "github.com/skanehira/clipboard-image/v2" )
解説
どうやらgo modules
を使っているライブラリをv1以上にする場合は、[email protected]
ではなくmodule/v2
というふうにgo.mod
に定義する必要があるようです。
詳細は参考文献のgo get の動作メモ
を参照ください。
参考文献
Author And Source
この問題について(Goで作ったライブラリのバージョンアップ手順), 我々は、より多くの情報をここで見つけました https://zenn.dev/skanehira/articles/2020-11-12-go-versionup-library著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Collection and Share based on the CC protocol