1、下载protoc安装包
(1)、上面是一种通过下载安装包的方式手动配置安装protoc的方式
①、地址: https://github.com/protocolbuffers/protobuf/releases
②、将解压后的包放在合适的地方,并在环境变量path中添加到PATH/protoc-3.19.1/bin(protoc.exe所在目录)
③、检查版本:cmd—>protoc --version
(2)、如果go的代理设置正确的话直接通过go get拉去到GOPATH下的bin目录里
go get -u github.com/golang/protobuf/protoc-gen-go
ps:最好使用第二种方式,我第一种方式翻车了,bash提示protoc这个命令不存在,不能识别protoc。但是我将protoc.exe放入GOPATH/bin目录里就好了,原因不明,猜测是环境变量设置的问题
2、获取相关库
go get -u github.com/golang/protobuf/protoc-gen-go
如果获取不到的话看一下自己的的go mod的路由配置是否正确,GOPROXY=https://goproxy.cn,direct,配置好代理再拉去就没有问题了。
3、编写.proto文件
4、生成.pb.go文件
protoc --go__out=./ *.proto
在这有个坑,如果没有指定生成的.go文件的存放地址和包名,就会报错。
解决方法,在.protoc文件首部加上option go_package = “path/package_name”;
path指定.go文件放置的路径,package_name表示包名
ps:
我一般是在工程路径下创建一个.protoc文件,首部直接指定option go_package = “./test”
生成的.pb.go文件就在生成的test文件夹里了。