😵
【Go 1.25】uber-goのmockgenがインストールできない【対処法】
😵 uber-goのmockgenがインストールできない・・・
go1.24からgo1.25に上げてから、mockgenを使おうとして若干秘伝のタレになっているMakefileでuber-goのmockgenをインストールしようとしたら
go install go.uber.org/mock/mockgen@v0.5.0
# golang.org/x/tools/internal/tokeninternal
***/pkg/mod/golang.org/x/tools@v0.22.0/internal/tokeninternal/tokeninternal.go:64:9: invalid array length -delta * delta (constant -256 of type int64)
と出てしまい、インストールできませんでした。
どうやらuber-go/mockgenが依存しているx/toolsパッケージが古いため、動かなかったようです。
uber-go/mockgenを更新して、依存関係をgolang.org/x/tools v0.36.0
に更新することでこの問題を回避できるようです。
✅️ 対処方法
uber-go mockgenのバージョンを0.6.0
以降のバージョンに上げることでインストールできます。
go install go.uber.org/mock/mockgen@v0.6.0
📖 参考
この問題が起きたときに調べたissueとPRです。
Discussion