go - 无法从 GO 中的其他文件导入包

标签 go go-modules

我正在使用 go1.13.4以下是我的项目结构:

src/types/type.go
src/utils/util.go
go.mod

在 go.mod 中:
module example.com/graphql

go 1.13

require github.com/graph-gophers/graphql-go v0.0.0-20191031232829-adde0d0f76a3

在 src/types/type.go 中:
package types

type USER struct {
   ...
}

在 src/utils/util.go 中,
package utils
import (
    "example.com/graphql/types"
    "fmt"
    "io/ioutil"
    "os"
)


构建项目时出现棕褐色错误:
$ go build ./...
src/utils/utils.go:4:2: cannot find module providing package example.com/graphql/types

不知道为什么找不到包example.com/graphql/types ?我正在阅读 https://blog.golang.org/using-go-modules我已经在 go.mod 中设置了模块名称我的项目根目录下的文件。

最佳答案

使用您当前的布局,导入路径 typesexample.com/graphql/src/types .
go.mod应该在 src 内如果你有那个结构。或者更好的是摆脱src . go.mod必须在 types 旁边和 utils文件夹。

关于go - 无法从 GO 中的其他文件导入包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58836060/

相关文章:

go - println 和 fmt.Println 的竞争检测器输出不同

docker - 开发和调试的最佳工作流程——最初部署在 docker 环境中

go - 使用相同库的两个项目中的依赖性问题

go - 使用/cmd 结构构建 Go 模块时出错

go - 是否可以在不运行 go install 的情况下更新本地软件包?

go - go 如何知道从哪里获取包

go - 构建命令行参数 : cannot load local package: cannot find module providing package

json - 如何从 API 获取 JSON 并计算鸽子的数量

pointers - 如何通过引用设置接口(interface){}参数?

Golang 模块问题--package xxx/xxxx is not in GOROOT