本例为windows环境
一、安装proto工具
1. 安装Protocol Buffers 编译器 (protoc)
首先,你需要安装 Protocol Buffers 编译器 protoc,它会将 .proto 文件编译成相应的代码。
下载 protoc:从 Protocol Buffers releases page 下载适合 Windows 的预编译二进制文件(通常是 protoc-<version>-win64.zip)。
解压并设置路径:解压后,将 bin 目录添加到系统的 PATH 环境变量中,以便能够从命令行全局调用 protoc。
2. 安装 Go 插件 protoc-gen-go
安装 Go 插件 protoc-gen-go,它用于将 .proto 文件编译为 Go 代码。
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
这将安装 protoc-gen-go 插件,并将其可执行文件放在你的 Go bin 目录中。确保这个目录在你的 PATH 环境变量中。
*注意*:
protoc最新版本对标go的也是高版本,如果自己本地go版本不高,可能导致兼容性问题
1. 查看版本:protoc-gen-go --version
2. 查看proto工具对应go版本:去仓库查看每个proto版本的go mod,https://github.com/protocolbuffers/protobuf-go
3. 如果自己服务器的go版本太低又不想升级,可能需要proto的低版本
4. 降级到对应版本的方式,例如需要降级到 v1.26.0:
a. 替换版本:go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.26.0
b. 验证版本:protoc-gen-go --version
c. 清理旧版本(可选):go clean -modcache //(会清空本地gomod,谨慎操作)
d. 修改go mod中的 proto版本,然后执行,go mod tidy
二、用proto生成go文件
1. 单个proto文件
protoc --go_out=..\server\pb1 .\a.proto
其中
--go_out=填生成目录
.\a.proto 为需要转的proto文件
2. 目录下所有proto文件
protoc --go_out=..\server\pb1 .\*.proto