【发布时间】:2021-11-16 17:35:52
【问题描述】:
我想将不同项目中定义的 .proto 文件导入到我的 golang 项目中,并使用其中定义的消息类型。
我要导入的原始文件是:https://github.com/lyft/clutch/blob/main/api/k8s/v1/k8s.proto
我已将导入语句添加为:
import "github.com/lyft/clutch/api/k8s/v1/k8s.proto";
为了在该文件中使用消息类型“Job”,我添加了
message Jobs {
repeated clutch.k8s.v1.Job job = 1;
}
当我尝试编译 proto 文件时,我收到了错误
Import "github.com/lyft/clutch/blob/main/api/k8s/v1/k8s.proto" was not found or had errors.
"clutch.k8s.v1.Job" is not defined.
【问题讨论】:
-
@blackgreen 我没有得到第一个答案。第二个答案是提供在另一个项目中使用原型文件的解决方案。但是,如果我要从中导入 proto 的项目不是我维护的,我该怎么办?
-
建议在项目中的某处克隆远程 repo,可能作为 git 子模块
-
我应该定期更新吧?这不是缺点吗。还有其他更清洁的方法吗?
标签: go protocol-buffers grpc rpc proto