我正在尝试创建一个微服务应用程序,它依赖于包含一般错误的net模块(因此我不必在所有模块之间“复制”它们)。
问题是,由于某种原因,它能够找到模块,但随后告诉我模块没有包( net模块没有main.go文件,因为它只是一组跨其他项目使用的文件)。
go: finding github.com/USERNAME/net latest
build github.com/USERNAME/micro-helix: cannot load github.com/USERNAME/net: module github.com/USERNAME/net@latest found (v0.0.0-20191209010811-97a65ac0928c), but does not contain package github.com/USERNAME/net下面是包含所有必要要求的go.mod文件(就我而言):
module github.com/USERNAME/micro-helix
go 1.13
require (
github.com/USERNAME/net v0.0.0-20191209010811-97a65ac0928c
github.com/USERNAME/service v0.0.0-20191209005400-57ee0eb02082
github.com/golang/protobuf v1.3.2
github.com/hashicorp/consul/api v1.3.0 // indirect
github.com/micro/go-micro v1.17.1
github.com/micro/go-plugins v1.5.1 // indirect
github.com/nats-io/nats-streaming-server v0.16.2 // indirect
github.com/nats-io/stan.go v0.5.2 // indirect
github.com/nicklaw5/helix v0.5.4
github.com/spf13/viper v1.5.0 // indirect
)go.mod模块的net文件非常简单,如下所示:
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发布于 2019-12-10 01:15:36
您可能已经将模块从github.com/USERNAME/micro-helix中的一些github.com/USERNAME/micro-helix文件导入为github.com/USERNAME/net。
您必须通过完整的路径导入所有的子包(在该文件中使用),如
import (
"github.com/USERNAME/net/errors"
"github.com/USERNAME/net/proto"
)发布于 2020-02-03 18:35:34
我有一个类似的问题,问题是我已经将我的代码签入了主程序,但是另一个分支被设置为主git中的默认分支。更改默认的分支,以掌握它为我,但YMMV。
https://stackoverflow.com/questions/59241582
复制相似问题