安装go
我是从docker hub 下载go容器
安装grpc和proto和protobuf插件
protoc 是一个Protobuf的编译器
grpc是谷歌的rpc框架
github.com/golang/protobuf/{proto,protoc-gen-go}
这块是go语言的proto代码包
先安装Protobuf 编译器 protoc,下载地址:https://github.com/google/protobuf/releases
拿出里面的二进制包,比如protoc-3.14.0-linux-x86_64.zip,获得protoc命令
下面的go get -u github.com/golang/protobuf/{proto,protoc-gen-go}
命令我没有执行成功,没有连接上网上查找解决办法是执行:
先执行以下命令换代理
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.io,direct
注意,go env -w GO111MODULE=on
改完代码中的import就不会使用gopath路径了,下载后要改回来。
git clone https://github.com/grpc/grpc-go.git $GOPATH/src/google.golang.org/grpc
git clone https://github.com/golang/net.git $GOPATH/src/golang.org/x/net
git clone https://github.com/golang/text.git $GOPATH/src/golang.org/x/text
go get -u github.com/golang/protobuf/{proto,protoc-gen-go}
git clone https://github.com/google/go-genproto.git
$GOPATH/src/google.golang.org/genproto
cd $GOPATH/src/
go install google.golang.org/grpc
编译协议文件变成go pb文件
protoc protos/helloworld.proto --go_out=plugins=grpc:go
其中 protoc 为protocl buffers编译器
protos/helloworld.proto 为protos目录下的helloworld.proto协议文件
–go_out 参数为输出go pb文件
plugins为指定插件
grpc:go go为输出的目录为go