为了账号安全,请及时绑定邮箱和手机立即绑定

Golang:生成核心失败:无法加载 github.com

Golang:生成核心失败:无法加载 github.com

Go
BIG阳 2022-11-08 17:01:42
我安装了 golang 并开始使用本教程:https ://www.howtographql.com/graphql-go/1-getting-started/当我运行时:go run github.com/99designs/gqlgen generate 我得到:reloading module infogenerating core failed: unable to load github.com/my-user/hackernews/graph/model - make sure you're using an import path to a package that existsexit status 1我的设置有什么问题?这是我的gopath/Users/my-pc-user/go
查看完整描述

1 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

$ cd your_project_path/

$ print '// +build tools\npackage tools\nimport _ "github.com/99designs/gqlgen"' | gofmt > ./tools.go

$ echo 'package model' | gofmt > ./graph/model/doc.go

$ go get .

解释

根据快速入门指南,您应该使用生成的代码创建一个包,该代码实际上已经由您的服务器导入:


package main


import (

    "log"

    "net/http"

    "os"


    "github.com/99designs/gqlgen/graphql/handler"

    "github.com/99designs/gqlgen/graphql/playground"

    "your_module_name/graph"

    "your_module_name/graph/generated"

)

由于your_module_name/graph/generated没有*.go文件,您无法启动服务器,如果您尝试,您将收到如下错误:


graph/schema.resolvers.go:10:2: no required module provides package your_module_name/graph/generated; to add it:

要生成该包,您需要执行go run github.com/99designs/gqlgen generate,但还有另一个问题:gqlgen生成使用另一个仍然不存在的包的代码,即your_module_name/graph/model.


需要额外的步骤添加build约束以indirect在生成过程中不删除依赖项。这就是为什么有下划线 import的第一步。


如果您使用指令将任何*.go文件放入该目录- 现在一切正常:package


$ cd your_project_path/

$ print '// +build tools\npackage tools\nimport _ "github.com/99designs/gqlgen"' | gofmt > ./tools.go

$ echo 'package model' | gofmt > ./graph/model/doc.go

$ go get .


查看完整回答
反对 回复 2022-11-08
  • 1 回答
  • 0 关注
  • 96 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信