安装protoc 下载protoc可执行文件 放入bin目录下
https://github.com/protocolbuffers/protobuf/releases
安装 protoc-gen-go protoc-gen-go-grpc protoc-gen-grpc-gateway
go install github.com/protocolbuffers/protobuf-go/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway@v2.30.0
验证安装是否成功
protoc --version
protoc-gen-go --version
protoc-gen-go-grpc --version
protoc-gen-grpc-gateway --version
生成pb文件
protoc --go_out=./ --go-grpc_out=./ --grpc-gateway_out=./ ./test/test.proto
生成grpc gw文件
bash
protoc -I ./proto --go_out=. --go_opt=module=grpc-demo --go-grpc_out=. --go-grpc_opt=module=grpc-demo --grpc-gateway_out=. --grpc-gateway_opt=module=grpc-demo proto/hello/v1/hello.proto
-I ./proto:告诉 protoc 在 ./proto 目录下搜索导入文件(包括 google/api)。
--go_out=.:生成 .pb.go 文件。
--go-grpc_out=.:生成 _grpc.pb.go(gRPC 服务接口)。
--grpc-gateway_out=.:生成 .pb.gw.go(HTTP 网关代码)。
paths=source_relative:让生成的 .go 文件和 .proto 放在同一目录,而不是按 go_package 路径生成。