gqlgenがinitした瞬間エラーを出していた話
GraphQL の素振りがしたかった
SecHack365 に今年参加することが決まったため、色々技術選定をしている。
まだ決まっていないことも多いが、とりあえずフロント-バック間の通信はGraphQL使ってみるかなと思い、
を試していた。スキーマドリブンな設計してみたかった。
gqlgen init したらなぜかエラーが出る
$ gqlgen init validation failed: packages.Load: /home/shoumoji/graphql-tutorial/graph/prelude.resolvers.go:19:44: __DirectiveResolver not exported by package generated
🤔🤔🤔
tutorial 読んだけどそんなのなかったよなぁ…? と思いつつ、prelude.resolver.go を眺めてみる。
何がおかしいんだろう…と小一時間悩んだ末、ふとサンプルリポジトリを見てみた。
そんなファイルないらしい。この辺でなんとなくおかしさに気づいたので、issues を辿ってみる。
ということで、gqlgenの依存ライブラリに互換性の問題があったらしく、そのままでは無理そうだった。
解決策
先ほどの issue にもあるが、バージョンを上げる。とりあえずHEADまで上げれば解決した。
go install github.com/99designs/gqlgen@HEAD
あとは go mod tidy したり init し直せば OK。