Const 初始值设定项 'protoimpl.EnforceVersion(20 - protoimpl.MinVersion)' 不是常量
Const initializer 'protoimpl.EnforceVersion(20 - protoimpl.MinVersion)' is not a constant
我是 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
原因是软件包版本错误 google.golang.org/protobuf
解决方案是获取最新版本
go get -u google.golang.org/protobuf/proto
来源:https://developers.google.com/protocol-buffers/docs/reference/go/faq#enforce-version
我是 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
原因是软件包版本错误 google.golang.org/protobuf
解决方案是获取最新版本
go get -u google.golang.org/protobuf/proto
来源:https://developers.google.com/protocol-buffers/docs/reference/go/faq#enforce-version