生成檔案 執行
protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative service.proto
報下列錯處理方法
1.'protoc-gen-go' 不是內部或外部命令,也不是可執行的程式
或批處理檔案。
a.檢查gopath目錄(%GOPATH%\)的bin資料夾,是否有protoc-gen-go.exe,protoc-gen-go-grpc.exe
protoc-gen-go.exe
protoc-gen-go-grpc.exe
b.如果沒有 protoc-gen-go-grpc.exe
執行:go install google.golang.org/grpc/cmd/protoc-gen-go-grpc
c.如果有將剛才找到的2個exe檔案,複製到goroot(%GOROOT%\)的bin目錄下
2.protoc-gen-go: unable to determine Go import path for "services.proto"
Please specify either:
• a "go_package" option in the .proto source file, or
• a "M" argument on the command line.
See https://protobuf.dev/reference/go/go-generated#package for more information.
在相應的.proto檔案中新增
option go_package = "./;pb"
關於VScode proto 3 外掛的配置檔案
"protoc": { "path": "D:/grpc/bin", "compile_on_save": false, "options": [ "--proto_path=protos/v3", "--proto_path=protos/v2", "--proto_path=${workspaceRoot}/proto", "--proto_path=${env.GOPATH}/src", "--java_out=gen/java" ] }