【发布时间】:2020-05-31 01:53:19
【问题描述】:
我的原型文件是:
syntax = "proto3";
import "google/protobuf/timestamp.proto";
service Foo {
rpc now(NowRequest) returns (NowResponse) {}
}
message NowRequest {}
message NowResponse {
google.protobuf.Timestamp now = 1;
}
我生成代码的命令和产生的错误是:
protoc foo.proto --go_out=plugins=grpc,import_path=proto:internal/proto
foo.proto:3:1: Import "google/protobuf/timestamp.proto" was not found or had errors.
foo.proto:12:3: "google.protobuf.Timestamp" is not defined.
我的协议版本是:
protoc --version
libprotoc 3.11.3
我已关注此guide 并查看此question。如何导入众所周知的类型?我需要下载其他东西吗?我如何知道我当前安装的确切众所周知的类型是什么?谢谢。
【问题讨论】:
-
import proto目录下,有没有google/protobuf/timestamp.proto的目录树?
-
@MarcGravell 否。我需要在那里复制/粘贴 proto 文件吗?
-
@MarcGravell 基于medium.com/@amsokol.com/… 看来这就是答案
-
你有 /usr/local/include/google/protobuf 目录吗?您使用的是什么操作系统?这是错误的 protobuf 安装问题。您可以在这里找到更多帮助:github.com/grpc-ecosystem/grpc-gateway/issues/422
-
@Kartavya 我没有。我只是从 zip 中复制了 protoc exe 并没有注意到包含。很抱歉错过了事后看来如此明显的事情。您要发布该评论作为答案吗?谢谢
标签: protocol-buffers grpc grpc-go