当前位置: 首页 > 工具软件 > rpcx > 使用案例 >

rpcx安装及使用

杜轩昂
2023-12-01

文档:https://doc.rpcx.io/

github:https://github.com/smallnest/rpcx

安装

目的:使用protoc生成rpcx插件对应的pb.go文件

安装步骤

下载protoc编译器protobuf,负责将proto文件编译成不同编程语言的代码,Google提供了go和grpc的protoc插件,但是依照官方的解释,不准备将其做成库的方式,所以我们要实现自己的插件,切换到v1.3.5分支。 v1.4.0以上的分支是基于protobuf APIV2实现的,目前还在开发之中,所以我们还是采用常用的稳定的版本

# 下protobuf
go get github.com/golang/protobuf/{proto,protoc-gen-go}

export GIT_TAG="v1.3.5" 

# 版本切换
git -C $GOPATH/src/github.com/golang/protobuf checkout $GIT_TAG

下载rpcx插件,然后把本项目下的link_rpcx.go文件和rpcx文件夹复制到protoc-gen-go文件夹下

cd $GOPATH/src/github.com/golang/protobuf/protoc-gen-go &&  cp -r $GOPATH/src/github.com/rpcxio/protoc-gen-rpcx/{link_rpcx.go, rpcx} .

变异protoc-gen-go插件,安装在GOPATH下,这个插件除了将proto文件编译成protobuf的go文件,还包含grpc和rpcx插件

# 设置环境变量
export GOPATH="$(go env GOPATH)"
# 编译插件
go install github.com/golang/protobuf/protoc-gen-go
# 添加path
export PATH=$PATH:$GOPATH/bin

使用

 编译命令

protoc *.proto  --proto_path=.  --go_out=plugins=rpcx:.

常见错误总结

错误1

# 执行proto时报错
protoc-gen-go: error:bad Go source code was generated: 7:1: expected 'IDENT', found 'import'

# 解决方法,添加option选项
option go_package = "要输出的位置";

 类似资料: