自分でCLIツールを作成してリリースしたが利用側でパッケージを取得しようとしたらエラーが発生したのでその時の対応のメモ。
結論
まずは結論から。
提供しているmodule名を変更した上で再リリース(自分の場合はタグの変更で発火するGHAで再リリース)
go.mod
- module gen-slice-accessor
+ module github.com/snamiki1212/gen-slice-accessor
リポジトリ・モジュール名を変えたので読み替えてください
-gen-slice-accessor
+go-gen-slice-accessors
発生していたエラー
- パッケージ/リポジトリ名:
gen-slice-accessor
- GitHub アカウント名:
snamiki1212
$ go install github.com/snamiki1212/gen-slice-accessor@latest
go: github.com/snamiki1212/gen-slice-accessor@latest: version constraints conflict:
github.com/snamiki1212/gen-slice-accessor@v0.0.1: parsing go.mod:
module declares its path as: gen-slice-accessor
but was required as: github.com/snamiki1212/gen-slice-accessor
結果
$ go install github.com/snamiki1212/gen-slice-accessor@latest
go: downloading github.com/snamiki1212/gen-slice-accessor v0.0.2
これで取得できるようになった
Appendix1. go:generate
コード生成を行うためのCLIを作成していたので、go:generate 側でのコマンドとしては下記のようにすればinstallを明示する必要がない
User.go
//go:generate go run -mod=mod github.com/snamiki1212/gen-slice-accessor@v0 --flag1=hoge