记录一下用Go编写gRPC服务的环境搭建过程。
第一步,当然是安装Go。如果已安装,可以忽略。
1、到官网下载最新版本的Go。
2、移除旧版本并安装新版
sudo rm -rf /usr/local/go && tar -C /usr/local -xzf go1.21.2.linux-amd64.tar.gz
3、编辑~/.profile ,在最后加入下列语句,将Go工具所在路径加入搜索路径
export PATH=$PATH:/usr/local/go/bin
4、使搜索路径立即生效,并验证是否成功
source ~/.profile
go version
第二步,安装gRPC协议编译器
$ apt install -y protobuf-compiler
$ protoc --version
第三步,安装gRPC Go 插件
1、安装插件
go get google.golang.org/protobuf/cmd/protoc-gen-go
go install google.golang.org/protobuf/cmd/protoc-gen-go
go get google.golang.org/grpc/cmd/protoc-gen-go-grpc
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc
2、编辑~/.profile ,在最后加入下列语句,将插件所在路径加入搜索路径,使得gRPC协议编译器protoc 找得到插件
export PATH="$PATH:$(go env GOPATH)/bin"
3、使搜索路径更新立即生效
source ~/.profile
这样,Go编写gRPC服务的环境基本建立完成,就可以开始编写gRPC服务接口文件了。
gRPC服务接口文件(如helloworld.proto)编写完成后,可以到该文件所在目录,执行下列指令
protoc --go_out=. --go_opt=paths=source_relative \
--go-grpc_out=. --go-grpc_opt=paths=source_relative \
helloworld.proto
为方便,可以在服务接口文件所在目录下,创建一个包含上面这个指令的执行脚本,当接口内容发生变化时,只需点击执行该脚本即可。