我具有以下项目结构
.
├── README.md
├── protos
│ ├── my-proto-output.pb.go
│ └── my-proto.proto
└── grpc-backend
├── client
│ └── client.go
├── go.mod
├── go.sum
├── main.go
└── a-submodule
在grpc-backend / main.go内部,我有:
package main
import (
pb "github.com/my-user/my-repo/protos"
"google.golang.org/api/option"
"google.golang.org/grpc"
)
在go.mod里面,我有
go 1.13
require (
google.golang.org/api v0.14.0
google.golang.org/grpc v1.21.1
)
module github.com/my-user/my-repo/grpc-backend
但是,当我运行cd grpc-backend && go build
时,我得到了
go: finding github.com/my-user/my-repo latest
go: finding github.com/my-user/my-repo/protos latest
go: downloading github.com/my-user/my-repo v0.0.0-20200103231607-5a754c449f99
verifying github.com/my-user/[email protected]: github.com/my-user/[email protected]: reading https://sum.golang.org/lookup/github.com/my-user/[email protected]: 410 Gone
我没有这样的标签,我在一个私人仓库中,目前仅致力于掌握。此外,proto在包myrepo
中的同一git repo中。
问题:
我是否组织不正确?这个版本是从哪里来的?它不在go.sum
您的模块不包含protos
软件包,因此不包含生成的grpc源。将go.mod
向上移动一层,并将模块名称更改为github.com/my-user/my-repo
,以便该模块包含所有软件包。