Grpc Go Generated.pb.go 导入未格式化
Grpc Go Generated.pb.go import was not formatted
我从我的一个项目 https://github.com/maanasasubrahmanyam-sd/customValidation to another project (test.proto) https://github.com/maanasasubrahmanyam-sd/customeValTest/tree/master/interfaces/test_server
中导入了原型文件 (validator.proto)
go get github.com/maanasasubrahmanyam-sd/customValidation
protoc \
-I. \
-I $GOPATH/src/ \
--proto_path=${GOPATH}/pkg/mod/github.com/envoyproxy/protoc-gen-validate@v0.1.0 \
--proto_path=${GOPATH}/src/github.com/google/protobuf/src \
--go_out="plugins=grpc:./generated" \
--validate_out="lang=go:./generated" \
--govalidators_out=. \
./interfaces/test_server/*.proto
正确的导入应该是 github.com/maanasasubrahmanyam-sd/customValidation/validator。但是 test.pb.go 导入作为 _ "./validator" 在 Goland 中显示红线。
编辑 - 所有 pb.go 文件都显示错误。我怀疑这是由于导入错误造成的。
我google它但是没有找到任何相关信息。有专家建议吗?
您可以通过两种方式寻址原型路径,
一: 如果您的导入原型文件在您的本地,那么您应该将它移动到您的父目录,然后从您的父路径解决它,如下所示:
- parentDirectory
-- directory1
--- proto1.proto
-- importDirectory
--- proto2.proto
您可以使用此命令构建此文件(proto1.proto):
protoc --proto_path=parentDirectory/directory1 --proto_path=parentDirectory --go-grpc_out=***your output path*** --go_out=***your output path*** parentDirectory/directory1/proto1.proto
- 另外,如果您使用
Goland
,您需要将 parentDirectory 添加到您的设置(文件 | 设置 | 语言和框架 | Protocol Buffers),然后取消选中自动配置并添加您的父路径。
二:如果你的proto文件在URL中:那么你可以像这样将它添加到你的构建命令中:
protoc --proto_path=src \
--go_opt=Mprotos/buzz.proto=example.com/project/protos/fizz \
--go_opt=Mprotos/bar.proto=example.com/project/protos/foo \
protos/buzz.proto protos/bar.proto
我从我的一个项目 https://github.com/maanasasubrahmanyam-sd/customValidation to another project (test.proto) https://github.com/maanasasubrahmanyam-sd/customeValTest/tree/master/interfaces/test_server
中导入了原型文件 (validator.proto)go get github.com/maanasasubrahmanyam-sd/customValidation
protoc \
-I. \
-I $GOPATH/src/ \
--proto_path=${GOPATH}/pkg/mod/github.com/envoyproxy/protoc-gen-validate@v0.1.0 \
--proto_path=${GOPATH}/src/github.com/google/protobuf/src \
--go_out="plugins=grpc:./generated" \
--validate_out="lang=go:./generated" \
--govalidators_out=. \
./interfaces/test_server/*.proto
正确的导入应该是 github.com/maanasasubrahmanyam-sd/customValidation/validator。但是 test.pb.go 导入作为 _ "./validator" 在 Goland 中显示红线。
编辑 - 所有 pb.go 文件都显示错误。我怀疑这是由于导入错误造成的。
我google它但是没有找到任何相关信息。有专家建议吗?
您可以通过两种方式寻址原型路径,
一: 如果您的导入原型文件在您的本地,那么您应该将它移动到您的父目录,然后从您的父路径解决它,如下所示:
- parentDirectory
-- directory1
--- proto1.proto
-- importDirectory
--- proto2.proto
您可以使用此命令构建此文件(proto1.proto):
protoc --proto_path=parentDirectory/directory1 --proto_path=parentDirectory --go-grpc_out=***your output path*** --go_out=***your output path*** parentDirectory/directory1/proto1.proto
- 另外,如果您使用
Goland
,您需要将 parentDirectory 添加到您的设置(文件 | 设置 | 语言和框架 | Protocol Buffers),然后取消选中自动配置并添加您的父路径。
二:如果你的proto文件在URL中:那么你可以像这样将它添加到你的构建命令中:
protoc --proto_path=src \
--go_opt=Mprotos/buzz.proto=example.com/project/protos/fizz \
--go_opt=Mprotos/bar.proto=example.com/project/protos/foo \
protos/buzz.proto protos/bar.proto