页首Html代码

返回顶部

下载新版本的 protoc 和 protoc-gen-go 程序

安装 protoc 程序

打开页面
https://github.com/protocolbuffers/protobuf/releases
直接下载 目标二进制, 注意, google 不知道发什么神经病, 3.21.4 的标签 tag, 他们最近去掉了 第一位 3
最近的 Protocol Buffers v21.4 Latest 其实是版本3.21.4

安装 protoc-gen-go 程序

使用下面命令可以安装到 GOBIN 目录下
go install github.com/golang/protobuf/protoc-gen-go@latest 最新tag为1.5.2 最老tag为1.0.0

令我疑惑的是,protoc-gen-go 还有其他版本:
https://github.com/protocolbuffers/protobuf-go
google的安装方式是:
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest 最新tag为1.27.0 最老tag为1.20.0
而不是
go install github.com/protocolbuffers/protobuf-go/cmd/protoc-gen-go@latest #这是错误的
真是令我矛盾的google啊.

其他设置 (备注)

如果需要源码编译protobuf并使用C++引用protobuf,那么下面的设置就有点帮助了

#(动态库搜索路径) 程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/protobuf/lib/
#(静态库搜索路径) 程序编译期间查找动态链接库时指定查找共享库的路径
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/protobuf/lib/
#执行程序搜索路径
export PATH=$PATH:/usr/local/protobuf/bin/
#c程序头文件搜索路径
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/protobuf/include/
#c++程序头文件搜索路径
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/protobuf/include/
#pkg-config 路径
export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/

版本报错:The import path must contain at least one forward slash ('/') character.

参考这个文章: https://www.jianshu.com/p/bbf2eb22b021
目前最新的版本是v1.5.2,经测试,2020年4月14日发布的v1.4.0以上的版本就要求必须加/了。
go get github.com/golang/protobuf/protoc-gen-go@v1.3

参考连接

PowerProto: gRPC工具链(protoc, protoc-gen-go)的一键安装与版本控制

posted @ 2022-07-27 17:08  ayanmw  阅读(5719)  评论(0编辑  收藏  举报

页脚Html代码