gRPC-golang 安装
1 说明
最后更新时间:2020-09-24
请先确保时效性
网上很多安装教程都过时了,还有些跨平台不通用,或者没安装全的。
这里提供一个跨平台通用的方式,主要是给一个解决的思路
2 安装 gRPC
开始前,要先知道几个点
- gRPC 需要至少 1.6 的版本的 go,(不是特别古老的项目应该都会下最新版的吧)。go 的文档非常详细,对于 go 的安装一般只需要参考官方文档即可。
- 一般情况下需要安装 protoc,protoc-gen-go,grpc
安装 gRPC
对于网络条件不是很好的,建议先配置代理
GOPROXY=https://goproxy.cn
一般情况下安装 grpc 只需要 1 行命令。
go get google.golang.org/grpc
如果执行失败可以用以下命令替代。就是手动下载依赖,然后再 go install
。
但目前来看应该是不需要了,以前会失败的原因并不是网络问题,而是依赖比较混乱导致有些依赖项无法正常下载。
如果你用的是最新版,仍然失败了,也许用下面的命令中途也会(因网络原因)出错,如果确认不是网络的问题,尝试给 grpc 的仓库提一个 issue 吧,然后再根据错误手动把依赖的项目克隆下来。之后的版本出现依赖问题照下面的方法也许不一定行。
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
安装 Protobuf
go get github.com/golang/protobuf/proto
go get github.com/golang/protobuf/protoc-gen-go
安装 protoc-gen-go,会在GOPATH/bin
下生成protoc-gen-go.exe
。如果没有的话看看是不是 $GOPATH 设置错了,或者再手动 install 一下,或者 build 完后手动把文件复制到 bin 目录下,实在不行复制一份别人编译好的也可以。
最后还需要一个protoc.exe
到 github 上下载,https://github.com/protocolbuffers/protobuf/releases/
可以下载源码包自行编译,也可以直接下载编译好的文件,(windows有可能无法编译通过,但这不是 protobuf 的问题,是环境配置的问题),最终 protoc.exe 也是要出现在 GOPATH/bin
下面,如果是下编译好的文件,直接复制进去就行,如果是源码包则参考 protoc-gen-go 的做法。