我正在尝试创建一个微服务应用程序,这取决于我的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
Run Code Online (Sandbox Code Playgroud)
这是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
)
Run Code Online (Sandbox Code Playgroud)
go.mod该模块的文件非常net简单:
module github.com/USERNAME/net
go 1.13
Run Code Online (Sandbox Code Playgroud)
如果您需要任何进一步的说明,我会在这里提供。我知道这可能是一些菜鸟错误(配置错误),但这是我第一周真正尝试用 Go 编写一些东西。
更新#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
Run Code Online (Sandbox Code Playgroud)
小智 4
可能您已经从as中的某些*.go文件导入了模块。github.com/USERNAME/micro-helixgithub.com/USERNAME/net
您必须通过完整路径导入所有子包(您在该文件中使用),例如
import (
"github.com/USERNAME/net/errors"
"github.com/USERNAME/net/proto"
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10932 次 |
| 最近记录: |