我是grpc的新手。在我的go.mod
文件中,我有:
google.golang.org/genproto v0.0.0-20190508193815-b515fa19cec8
google.golang.org/grpc v1.21.1
github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d
github.com/golang/protobuf v1.3.2
我正在生成这样的protobuf:
go get google.golang.org/protobuf/cmd/protoc-gen-go
go get google.golang.org/grpc/cmd/protoc-gen-go-grpc
protoc --go_out=. --go-grpc_out=. ./me.proto
尝试运行测试和构建时,出现以下错误:
me_grpc.pb.go:15:11: undefined: grpc.SupportPackageIsVersion7
me_grpc.pb.go:25:5: undefined: grpc.ClientConnInterface
me_grpc.pb.go:28:30: undefined: grpc.ClientConnInterface
me_grpc.pb.go:65:34: undefined: grpc.ServiceRegistrar
我发现切换SupportPackageIsVersion7
到SupportPackageIsVersion5
gopls会让他们感到高兴,但我不知道该如何做才能使其他错误消失。不幸的是,由于存储库中的其他内容如果我尝试升级那些库,则无法编译,因此我陷入了go.mod文件中的库版本。
replace (
github.com/coreos/etcd => github.com/ozonru/etcd v3.3.20-grpc1.27-origmodule+incompatible
google.golang.org/grpc => google.golang.org/grpc v1.27.0
)
在go.mod中应该有所帮助
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句