Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Go 无法从模块中获取包_Go_Go Modules - Fatal编程技术网

Go 无法从模块中获取包

Go 无法从模块中获取包,go,go-modules,Go,Go Modules,我正在尝试创建一个微服务应用程序,它依赖于包含一般错误的net模块(因此我不必在所有模块中“复制”它们) 问题是,出于某种原因,它能够找到模块,但随后告诉我模块没有包(net模块没有main.go文件,因为它只是一组跨其他项目使用的文件) go:finding github.com/USERNAME/net latest 生成github.com/USERNAME/micro-helix:无法加载github.com/USERNAME/net:module github.com/USERNAME

我正在尝试创建一个微服务应用程序,它依赖于包含一般错误的
net
模块(因此我不必在所有模块中“复制”它们)

问题是,出于某种原因,它能够找到模块,但随后告诉我模块没有包(
net
模块没有
main.go
文件,因为它只是一组跨其他项目使用的文件)

go:finding github.com/USERNAME/net latest
生成github.com/USERNAME/micro-helix:无法加载github.com/USERNAME/net:module github.com/USERNAME/net@latest找到(v0.0.0-20191209010811-97a65ac0928c),但不包含包github.com/USERNAME/net
这是包含所有必要要求的
go.mod
文件(就我而言):

net
模块的
go.mod
文件非常简单:

module github.com/USERNAME/net

go 1.13
如果您需要任何进一步的澄清,我在这里提供。我知道这可能是一些新手的错误(配置错误),但这是我第一周真正尝试用围棋写东西

更新#1

这是github.com/USERNAME/net模块的结构

/-
    errors/
        -   error.go            // github.com/USERNAME/net/errors
        -   code.go             // github.com/USERNAME/net/errors
    proto/
        -   error.pb.go         // github.com/USERNAME/net/proto
        -   response.pb.go      // github.com/USERNAME/net/proto
    errors.proto
    go.mod                      // module github.com/USERNAME/net
    response.proto

您可能已经从
github.com/USERNAME/micro-helix
中的一些
*.go
文件导入了模块,作为
github.com/USERNAME/net

您必须导入所有子包(您在该文件中使用的子包),直到有完整的路径,如

导入(
“github.com/USERNAME/net/errors”
“github.com/USERNAME/net/proto”
)

我遇到了一个类似的问题,问题是我将代码签入了master,但另一个分支被设置为主git repo中的默认分支。将默认分支更改为master为我修复了它,但是YMMV。

模块
net
的go文件声明了什么包名?@BurakSerdar我已经用
net
模块的结构更新了这个问题,如果没有,我希望它能有所帮助,我有点困惑,你能详细说明你的问题吗?你是怎么得到这个错误的?你在跑吗?快去拿?或者你在net中导入了一个包,并运行了go构建吗?@BurakSerdar首先,我编写了
net
模块并将其推送到github,然后我移动到另一个使用
net
的应用程序,我使用
go get-u github.com/USERNAME/net
安装了它,事情是,第二个应用程序完全可以导入文件(我可以按住Shift键并单击Goland中的文件名,然后进入
net
实现),但是构建失败,出现问题中的错误。该错误意味着您在某处有一个
导入“github.com/USERNAME/net”
,因为
github.com/USERNAME/net
不包含Go源文件,所以它不起作用。我会在你所有的源代码中搜索
github.com/USERNAME/net
,并确保你没有试图在任何地方直接导入它,你只是在它下面导入包。
/-
    errors/
        -   error.go            // github.com/USERNAME/net/errors
        -   code.go             // github.com/USERNAME/net/errors
    proto/
        -   error.pb.go         // github.com/USERNAME/net/proto
        -   response.pb.go      // github.com/USERNAME/net/proto
    errors.proto
    go.mod                      // module github.com/USERNAME/net
    response.proto