在golang中导入"google/protobuf/descriptor.proto"



我正在使用自定义选项为我的原型服务定义定义招摇的注释。

已经有这个 swagger 注释的实现,所以我只需要在我的 .proto 服务定义中导入这个实现

import "protoc-gen-swagger/options/annotations.proto";
...

问题是这个库有一个google/protobuf/descriptor.proto的依赖项,这个描述符库是在 proto2 规范上创建的(这个库来自 protocolbuffers/protobuf项目(

syntax = "proto2";
package google.protobuf; 

因此,当我尝试为 php 构建原型时,我收到错误:

-php_out: google/protobuf/descriptor.proto: Can only generate PHP code 
for proto3 .proto files. Please add 'syntax = "proto3";' to the top of 
your .proto file.

有谁知道我在哪里可以找到 proto buffers 版本 3 上的google/protobuf/descriptor.proto的原型定义? o 如何解决此问题?

生成器库 protoc-gen-swagger 仅支持 protobuf 版本 3。除非您将proto2更改为proto3,否则您的错误将继续出现。请阅读 https://grpc-ecosystem.github.io/grpc-gateway/docs/usage.html。

此外,您的错误消息中也明确说明:

-php_out:google/protobuf/descriptor.proto:只能生成PHP代码 对于 proto3 .proto 文件。请在 您的 .proto 文件。

最新更新