首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >常量初始值设定项“protoimpl.EnforceVersion(20-protoimpl.MinVersion)”不是常量

常量初始值设定项“protoimpl.EnforceVersion(20-protoimpl.MinVersion)”不是常量
EN

Stack Overflow用户
提问于 2020-07-07 19:02:03
回答 1查看 1.2K关注 0票数 0

我是gRPC的新手,尝试从protos生成go代码,并在生成的文件中得到这个错误

生成的带有问题的代码:

代码语言:javascript
复制
//  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)
)

错误

代码语言:javascript
复制
Const initializer 'protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)' is not a constant

版本:

代码语言:javascript
复制
$ 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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62773793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档