【发布时间】:2023-02-23 01:06:16
【问题描述】:
我正在使用 buf CLI 通过命令 buf generate 为 Go 生成原型。
如果在同一目录中定义了任何导入,我就能够成功生成原型。
但是,我无法从另一个存储库或同一存储库但不同的文件夹导入原型。
以下是我尝试将 error.proto 从同一个存储库导入到 service.proto 的方法。
它也可能是一个不同的存储库。
syntax = "proto3";
option go_package = "github.com/organization/repository/service/proto/gen/service/v1;servicev1";
package service.v1;
import "github.com/organization/repository/common/proto/def/error/v1/error.proto";
该文件依赖于内部目录:
service/proto/def/service/v1/service.proto
我的buf.gen.yaml看起来像
version: v1
plugins:
- name: go
out: ../../
opt: module=github.com/organization/repository/service
- name: go-grpc
out: ../../
opt: require_unimplemented_servers=false,module=github.com/organization/repository/service
我在目录中调用buf generate:
cd service/proto/def
buf generate
错误信息是:
common/proto/def/error/v1/error.proto: does not exist
是否可以导入那个 error.proto?如果是这样,我该怎么做?
【问题讨论】:
标签: protocol-buffers protoc buf