【问题标题】:protoc error validator.proto: File not foundprotoc错误validator.proto:找不到文件
【发布时间】:2020-05-26 04:04:26
【问题描述】:

我在下面的命令中收到 .proto File not found 错误

命令

protoc -I/usr/local/include -I. \
        -I/home/xxUserxx/go/pkg/mod/github.com/mwitkow/go-proto-validators@v0.3.0/ \
        -I/home/xxUserxx/go/src \
        -I/home/xxUserxx/go/pkg/mod/github.com/xxOrgxx/xxPrivateRepoxx@v1.2.2/proto \
        -I/home/xxUserxx/go/pkg/mod/github.com/grpc-ecosystem/grpc-gateway@v1.9.2/third_party/googleapis \
        --grpc-gateway_out=logtostderr=true,allow_repeated_fields_in_body=true:./proto \
        --swagger_out=logtostderr=true,allow_repeated_fields_in_body=true:./proto \
        --govalidators_out=./proto --go_out=plugins=grpc:./proto \
        test1.proto test2.proto

输出: 下面的错误是失败的协议。

github.com/mwitkow/go-proto-validators/validator.proto: File not found.
test1.proto:7:1: Import "github.com/mwitkow/go-proto-validators/validator.proto" was not found or had errors.

Edit1: 下面是请求的 test1.proto 文件。这里第 7 行有 validator.proto 导入

syntax = "proto3";

package proto;
option go_package = "proto";

import "google/api/annotations.proto";
import "github.com/mwitkow/go-proto-validators/validator.proto";

service TestService {
    rpc GetTests(GetTestsRequest) returns (GetTestsResponse) {
    option (google.api.http) = {
      get: "/test"
    };
  } 
}

message GetTestsRequest {
}

message GetTestsResponse {
    repeated Test tests = 1;
}

message Test {
  int64 id = 1;
  string name = 2;
  string description = 3;
  int64 externalId = 4;
  int64 providerId = 5;
  bool isArchived = 6;
}

【问题讨论】:

  • 请发布最小的可重现示例,包括test1.proto 文件的相关部分。

标签: go import protocol-buffers protoc


【解决方案1】:

正如 comment 所建议的,使用在您的原型项目和您尝试引用的项目之间共享的顶级源目录

Here's another example.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-26
    • 1970-01-01
    • 1970-01-01
    • 2022-08-16
    • 1970-01-01
    • 1970-01-01
    • 2018-01-03
    • 2013-12-29
    相关资源
    最近更新 更多