02.安装环境
本文主要介绍gRPC开发环境搭建过程
操作系统及Go版本
$ cat /etc/debian_version
10.3
$ go version
go version go1.17.2 linux/amd64
安装protoc
$ mkdir -p ~/Downloads/
# 替换这里的链接为最新版本链接,文件名同样替换
$ wget https://github.com/protocolbuffers/protobuf/releases/download/v3.19.1/protoc-3.19.1-linux-x86_64.zip -O ~/Downloads/protoc-3.6.1-linux-x86_64.zip
$ mkdir -p /tmp/protoc
$ unzip ~/Downloads/protoc-3.19.1-linux-x86_64.zip -d /tmp/protoc
$ sudo cp /tmp/protoc/bin/protoc /usr/local/bin/
$ sudo cp -r /tmp/protoc/include/google /usr/local/include
$ sudo chmod -R 755 /usr/local/include/google
安装 protobuf Plugin 和 gRPC Plugin
设置 go module 代理
go env -w GOPROXY="https://goproxy.io,direct"
安装 protoc-gen-go
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
安装 protoc-gen-go-grpc
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
安装 protoc-gen-grpc-gateway
go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway@latest
安装 protoc-gen-openapiv2
go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2@latest
测试
创建 proto 文件
$ mkdir -p grpc-test/proto
$ touch grpc-test/proto/echo.proto
$ cd grpc-test
grpc-test/proto/echo.proto
syntax="proto3";
package echo;
option go_package="rpc/echo";
message EchoPar {
string msg = 1;
}
message EchoReply {
string msg = 1;
}
service echo {
rpc Echo(EchoPar) returns ( EchoReply) {}
}
生成gRPC代码
$ protoc --go_out=. --go-grpc_out=. proto/echo.proto
此时目录下已生成相关 go 语言文件