我是gRPC的新手,尝试从protos生成go代码,并在生成的文件中得到这个错误
生成的带有问题的代码:
// protoc-gen-go v1.25.0
// protoc v3.12.3
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)错误
Const initializer 'protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)' is not a constant版本:
$ sw_vers (sadc1c/opsvisibility)
ProductName: Mac OS X
ProductVersion: 10.15.3
BuildVersion: 19D76
$ go version
go version go1.14 darwin/amd64
$ protoc --version (sadc1c/opsvisibility)
libprotoc 3.12.3发布于 2020-07-07 19:27:38
原因是软件包google.golang.org/protobuf的版本不正确。解决方案是获取最新版本
go get -u google.golang.org/protobuf/proto
来源:https://developers.google.com/protocol-buffers/docs/reference/go/faq#enforce-version
https://stackoverflow.com/questions/62773793
复制相似问题