记录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 验证

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

相关推荐
肥肥呀呀呀几秒前
mac 安卓模拟器 blueStacks
macos
csdn_aspnet6 分钟前
如何在 MacOS 上安装 SQL Server
macos·sqlserver
归辞...5 小时前
「iOS」————设计架构
ios·架构
i紸定i8 小时前
解决html-to-image在 ios 上dom里面的图片不显示出来
前端·ios·vue·html·html-to-image
YungFan1 天前
iOS26适配指南之UIButton
ios·swift
共享家95271 天前
linux-数据链路层
linux·网络·macos
红橙Darren1 天前
手写操作系统 - 编译链接与运行
android·ios·客户端
鹏多多.1 天前
flutter-使用device_info_plus获取手机设备信息完整指南
android·前端·flutter·ios·数据分析·前端框架
CZIDC1 天前
MacOS字体看起来比在 Windows 上更好?
macos
Cosmoshhhyyy2 天前
linux远程部署dify和mac本地部署dify
linux·运维·macos