linux下配置GRpc-golang
1、git中下载protobuf包
2、解压(/usr/local/protobuf)
unzip protobuf-cpp-3.0.0-alpha-3.zip
3、进入解压后的目录
cd protobuf/
4、编译安装
./configure
make && sudo make install
5、获取grpc-golang插件,进入go安装目录下的bin目录,运行以下命令
go get -u github.com/golang/protobuf/protoc-gen-go #golang 插件
运行后检查protoc-gen-go可执行文件的位置,bin目录下
6、从grpc包中找出protoc可执行文件,找linux64位的版本,拷贝到/usr/local/bin下
7、生成golang的代理类文件(需要protoc 和 protoc-gen-go 两个可执行文件),执行以下命令的任意一条:
protoc --go_out=gen-go taochees.proto --grpc_out=gen-go --plugin=protoc-gen-grpc=protoc-gen-go
或者
protoc --go_out=plugins=grpc:./gen-go taochees.proto
./gen-go是生成的代理类文件的保存路径
taochees.proto 是proto定义文件
8、文件生成成功后是:taochees.pb.go
直接拷贝到go的项目中(或go/src/taochees/taochees.pb.go)即可使用
9、C#生成的类库中repeated和map类型的字段,生成出来的属性只有get方法,没有set方法,因此使用时无法将其他对象赋值给此类属性,只能通过该属性的Add或Remove方法新增或移除值
10、go项目编译中,有可能由于版本不一致导致编译不过去,根据错误信息更新相应的package即可,此次调试中:
需从google上下载最新的golang包(go1.7.3.linux-amd64.tar.gz)( tar -xzvf go1.7.3.linux-amd64.tar.gz),
单独下载最新的net、http2、google.golang.org、golang.org、vendor包下更新golang.org