从与 buf.work.yaml 相同的目录调用时 buf build 找不到文件

Woo*_*193 6 go protocol-buffers buf

我有一个具有以下结构的 protobuf 存储库:

\n
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 protos\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 common\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 buf.yaml\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 time.proto\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 internal\n\xe2\x94\x82       \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 buf.yaml\n\xe2\x94\x82       \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 user\n\xe2\x94\x82           \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 user.proto\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 buf.gen.yaml\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 buf.work.yaml\n
Run Code Online (Sandbox Code Playgroud)\n

`time.proto 的存根是:

\n
syntax = "proto3";\npackage common;\n\noption go_package = "github.com/my-org/protobuf-gen-go/gopb"; // golang\n\n// Message definition here\n
Run Code Online (Sandbox Code Playgroud)\n

user.proto引用该文件。这是它的存根:

\n
syntax = "proto3";\npackage internal.dynamodb;\n\nimport "common/time.proto";\n\noption go_package = "github.com/my-org/protobuf-internal/user"; // golang\n\n// Message definition here\n
Run Code Online (Sandbox Code Playgroud)\n

这两个buf.yaml文件看起来都是这样的:

\n
version: v1\nbreaking:\n  use:\n    - FILE\nlint:\n  use:\n    - DEFAULT\n
Run Code Online (Sandbox Code Playgroud)\n

看起来buf.work.yaml像这样:

\n
version: v1\ndirectories:\n - protos/common\n - protos/internal\n
Run Code Online (Sandbox Code Playgroud)\n

现在,当我使用 protoc 编译它时,我没有收到任何错误,但是当我尝试这样做时buf build,我会出现错误:

\n
\n

protos/internal/user/user.proto:4:8:protos/common/time.proto: 不存在

\n
\n

buf.work.yaml当我进入目录时,这种情况不会发生protos。这显然会导致系统构建出现问题。我该如何解决这个问题?

\n