执行gqlgen generate报错:无法找到interfaces.Int类型
gqlgen generate错误原因解析
这个错误的核心原因是gqlgen版本不兼容或类型配置错误:
github.com/99designs/gqlgen/interfaces.Int是旧版gqlgen中用于自定义标量的接口类型,在新版本中已经被移除或重构。如果项目初始化用的是旧版gqlgen,后续执行generate时调用了新版,或者你手动在代码里引入了这个废弃类型,就会触发找不到类型的错误。- 另外检查
gqlgen.yml配置文件,若里面把GraphQL的Int类型错误映射到这个已不存在的接口,也会导致该问题。
对应解决方向
- 统一gqlgen版本:执行
go list -m github.com/99designs/gqlgen查看当前项目依赖的版本,确保init和generate用的是同一版本。 - 清理废弃引用:删除代码中所有对
github.com/99designs/gqlgen/interfaces.Int的引用,替换为当前版本的标量实现——要么直接用Go原生int,要么按照新版gqlgen规范自定义标量。 - 修正配置映射:检查
gqlgen.yml的models段,确保GraphQL类型到Go类型的映射正确,比如:
或者直接映射到原生类型:models: Int: model: github.com/99designs/gqlgen/graphql.Intmodels: Int: model: int
内容的提问来源于stack exchange,提问作者黒木 健太
相关产品推荐
相关产品推荐

