protoc error validator.proto: 找不到文件



我在以下命令中收到.proto找不到文件错误

命令

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.

编辑1:以下是要求的test1.proto文件。这里第 7 行有 validator.proto import

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;
}

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

这是另一个例子。

最新更新