英文:
Go proto: File not found
问题
我一直在尝试运行以下命令:
protoc -I ./interfaces/ -I ${GOPATH}/pkg/mod/github.com/envoyproxy/protoc-gen-validate@v0.1.0 -I ${GOPATH}/pkg/mod/github.com/gogo/protobuf@v1.3.2 -I ${GOPATH}pkg/mod/github.com/x --gogo_out=. --go_out="plugins=grpc:./generated" --validate_out="lang=go:./generated" ./interfaces/test_server/*.proto
出现以下错误:
github.com/x/customValidation/validators.proto: 文件未找到。
test_server/test.proto:5:1: 导入 "github.com/x/customValidation/validators.proto" 未找到或存在错误。
我可以看到 proto 文件位于此位置 -> github.com/x/customValidation/validators.proto,并且在本地保存在 -> pkg\mod\github.com\x\custom!validation@v0.0.0-20210817213416-5eb0b8804c6f
我还尝试了 --proto_path 命令,仍然得到相同的错误,即找不到 proto 文件:
protoc \
--proto_path=${GOPATH}/src \
--proto_path=${GOPATH}/pkg/mod/github.com/gogo/protobuf@v1.3.2 \
--proto_path=${GOPATH}/pkg/mod/github.com/envoyproxy/protoc-gen-validate@v0.1.0 \
--proto_path=${GOPATH}pkg/mod/github.com/x \
--proto_path=. --gogo_out=. --govalidators_out=gogoimport=true:. --go_out="plugins=grpc:./generated" --validate_out="lang=go:./generated" ./interfaces/test_server/*.proto
英文:
I have been trying to run below command
protoc -I ./interfaces/ -I ${GOPATH}/pkg/mod/github.com/envoyproxy/protoc-gen-validate@v0.1.0 -I ${GOPATH}/pkg/mod/github.com/gogo/protobuf@v1.3.2 -I ${GOPATH}pkg/mod/github.com/x --gogo_out=. --go_out="plugins=grpc:./generated" --validate_out="lang=go:./generated" ./interfaces/test_server/*.proto
Getting below error
github.com/x/customValidation/validators.proto: File not found.
test_server/test.proto:5:1: Import "github.com/x/customValidation/validators.proto" was not found or had errors.
I can see the proto file is in this location -> github.com/x/customValidation/validators.proto
and locally it got saved at -> pkg\mod\github.com\x\custom!validation@v0.0.0-20210817213416-5eb0b8804c6f
I also tried with --proto_path command still getting same error that proto file is not found
protoc \
--proto_path=${GOPATH}/src \
--proto_path=${GOPATH}/pkg/mod/github.com/gogo/protobuf@v1.3.2 \
--proto_path=${GOPATH}/pkg/mod/github.com/envoyproxy/protoc-gen-validate@v0.1.0 \
--proto_path=${GOPATH}pkg/mod/github.com/x \
--proto_path=. --gogo_out=. --govalidators_out=gogoimport=true:. --go_out="plugins=grpc:./generated" --validate_out="lang=go:./generated" ./interfaces/test_server/*.proto
答案1
得分: 1
这似乎是路径的问题。路径必须相对于你执行的位置准确,或者是绝对路径。
英文:
This feels like an issue with paths. The path must be accurate relative to where you are executing or an absolute path.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论