记录protocol buffers Mac安装

使用brew安装最新的protobuf

在Mac 上安装,使用brew 可以安装最新的protobuf。这个也比较简单,简单说一下。

  1. 首先先检查一下是否安装了brew。如果没有安装brew的话,请先安装brew.可以通过brew --version来检查
  2. 使用brew install protobuf 来安装 protobuf
  3. 安装完成以后,可以使用protoc --version 来检查是否安装成功。如果正确输出了 版本号,则代表安装成功了。
  4. 如果想卸载的话,直接执行 brew uninstall protobuf 。如果在中途遇到了类似的错误,比如:
    Error: Refusing to uninstall /usr/local/Cellar/protobuf/23 because it is required by mysql@5.7 and sphinx, which are currently installed. You can override this and force removal with: brew uninstall --ignore-dependencies protobuf

因为protobuf依赖了mysql@5.7 和 sphinx 这两个库,所以你需要先卸载 这两个库,才能卸载protobuf。

你可以执行:

powershell 复制代码
brew uninstall sphinx

以及

powershell 复制代码
brew uninstall mysql@5.7

最后执行

powershell 复制代码
brew uninstall protobuf

然后就可以执行卸载了protobuf了。

安装指定版本的protobuf

使用上面的方式,只能安装最新版本的protobuf。如果想安装指定版本的protobuf的话,我们可以通过源码的方式进行安装。

  1. 先github上下载指定版本的源码 到本地。例如:3.21.12版本

将它下载到某个文件夹下。例如:我放在$HOME/programs/protobuf 。如果你本地没有这个文件夹的话,可以使用mkdir 命令去创建一个。

如果使用系统默认的安装目录的话,你可能遇到如下的错误:

powershell 复制代码
bcms436-sv1:protobuf-3.21.12 ytan$ make install
Making install in .
make[2]: Nothing to be done for `install-exec-am'.
test -z "/usr/lib/pkgconfig" || ./install-sh -c -d "/usr/lib/pkgconfig"
 /usr/bin/install -c -m 644 protobuf.pc protobuf-lite.pc '/usr/lib/pkgconfig'
install: /usr/lib/pkgconfig/protobuf.pc: Permission denied
make[2]: *** [install-pkgconfigDATA] Error 71
make[1]: *** [install-am] Error 2
make: *** [install-recursive] Error 1
  1. $HOME/programs/protobuf 目录下,解压刚才下载的tar.gz文件
powershell 复制代码
tar -zxvf protobuf-3.21.12.tar.gz
  1. 进入到解压后的源码目录下:
powershell 复制代码
cd protobuf-3.21.12
  1. 检测安装环境是否满足条件,生成Makefile。注意使用如下目录
powershell 复制代码
./configure --prefix=$HOME/programs/protobuf

如果你在执行这个命令的后,发现有报错

powershell 复制代码
CXXLD libprotobuf.la
CXXLD libprotoc.la
CXXLD protoc
./.libs/libprotoc.so: error: undefined reference to 'xxxx'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:3990:protoc]

那么可以先执行./autogen.sh 命令,再执行 ./configure --prefix=$HOME/programs/protobuf

powershell 复制代码
./autogen.sh
  1. 编译和安装
powershell 复制代码
make && make install
  1. 添加环境变量

安装成功以后,就需要添加环境变量。添加环境变量时,需要注意你是使用的zsh,还是系统自带的命令行终端。

如果是系统的命令行终端:在系统根目录下找到.bash_profile 文件,在该文件下修改

powershell 复制代码
cd ~

vim .bash_profile
export PROTOBUF=$HOME/programs/protobuf
export PATH=$PROTOBUF/bin:$PATH
source .bash_profile

如果是zsh终端也是类似的,只是在 .zshrc 文件下修改。

powershell 复制代码
cd ~
vim .zshrc
export PROTOBUF=$HOME/programs/protobuf
export PATH=$PROTOBUF/bin:$PATH
source .
  1. 执行 protoc --version 验证

能正确输处版本号,就代表安装成功了。

相关推荐
pop_xiaoli14 小时前
【iOS】dyld加载
macos·ios·objective-c·cocoa
LoyalToOrigin17 小时前
iOS 26 libass字幕渲染问题兼容解决实践
ios·ffmpeg·objective-c
2501_9159214317 小时前
穿越HTTPS迷雾:Wireshark中的TLS抓包秘诀与文件合并方法
网络协议·ios·小程序·https·uni-app·wireshark·iphone
懋学的前端攻城狮17 小时前
网络层架构演进:从回调地狱到声明式数据流
ios
程序员小崔日记18 小时前
当 AIR 只支持 Mac,我开始重新思考操作系统这件事
macos·操作系统·ai编程
一个人旅程~21 小时前
黑苹果系统都支持哪些硬件键盘和笔记本型号,以老旧电脑dell n4020为例安装黑苹果的可能性分析
经验分享·macos·电脑
Eloudy1 天前
macOS 上开启 SSH 服务
运维·macos·ssh
蜜汁小强1 天前
macOS 开发者的 tmux 实战配置:分屏导航、vi 复制模式与系统剪贴板一站打通
macos·策略模式
白狐_7981 天前
【深度拆解】2026年数字化学习流:iPad 主动式电容笔的技术底层与选型实测
学习·ios·ipad·电容笔