安装protoc
下载protoc地址
解压后
cd protobuf-3.7.0/
在终端执行:./autogen.sh
在终端执行:sudo ./configure
在终端执行:sudo make
在终端执行:sudo make check
在终端执行:sudo make install
以后六步执行完成,查看是否安装成功
执行命令:protoc --version
如果出现libprotoc 2.4.1或者libprotoc 2.5.0则说明安装成功
设置环境变量(可略)
vim ~/.bash_profile
添加以下内容
export PATH=$PATH:$HOME/go/bin
export PATH=$PATH:/usr/local/go/bin
source ~/.bash_profile
查看安装结果
protoc --version
得到libprotoc 3.15.3打印版本信息
如果上述报错
protoc: error while loading shared libraries: libprotoc.so.18: cannot open shared object file: No such file or directory
进入/etc/ld.so.conf.d目录下,使用sudo touch libprotobuf.conf
命令建立libprotobuf.conf文件
使用Vim编辑libprotobuf.conf,插入内容:/usr/local/lib
sudo ldconfig
如报错
protoc-gen-go: program not found or is not executable
把
go get -u github.com/golang/protobuf/protoc-gen-go
改成
go get -u github.com/golang/protobuf/protoc-gen-go@v1.4.0
即可
注意export GO111MODULE=on
测试proto文件的生成
string.proto
syntax = "proto3";
package pb;
service StringService{
rpc Concat(StringRequest) returns (StringResponse) {}
rpc Diff(StringRequest) returns (StringResponse) {}
}
message StringRequest {
string A = 1;
string B = 2;
}
message StringResponse {
string Ret = 1;
string err = 2;
}
生成命令
protoc ./string.proto --go_out=plugins=grpc:./
获得string.pb.go文件