如何在MacOS Big Sur上安装Thrift 0.15.0并解决Homebrew报错
MacOS Big Sur 11.6.1 安装 Thrift 0.15.0 解决方案
报错根因
你遇到的两类报错均由新版Homebrew与旧版Thrift公式的API不兼容导致:Homebrew 3.x 版本已移除对公式中sha1校验方法、旧版bottle块写法的支持,因此brew extract命令拉取历史版本Thrift公式时会触发方法不存在、空指针调用的错误。
解决方案一:直接安装历史版本Thrift公式(优先推荐)
- 先清理残留的自定义tap,卸载已安装的高版本Thrift(如果有):
brew untap $USER/local-tap --force brew uninstall --ignore-dependencies thrift
- 拉取Thrift 0.15.0 对应版本的官方公式文件到本地:
curl -o /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/thrift.rb https://raw.githubusercontent.com/Homebrew/homebrew-core/0e86acb2d327d3d24a7c937c473f0f714d8e22f/Formula/thrift.rb
- 直接安装对应版本,安装完成后锁定版本防止后续brew自动升级:
brew install thrift brew pin thrift
- 验证安装结果:
thrift --version
输出含Thrift version 0.15.0即为安装成功。
解决方案二:手动编译安装(方案一失效时使用)
- 先安装Thrift编译所需依赖:
brew install boost openssl libevent bison
- 下载并解压Thrift 0.15.0源码包:
curl -O https://dlcdn.apache.org/thrift/0.15.0/thrift-0.15.0.tar.gz tar zxvf thrift-0.15.0.tar.gz && cd thrift-0.15.0
- 配置编译参数并安装:
./configure --prefix=/usr/local/opt/thrift@0.15.0 \ --with-boost=/usr/local/opt/boost \ --with-openssl=/usr/local/opt/openssl \ BISON=/usr/local/opt/bison/bin/bison make make install
- 将对应版本加入环境变量(以zsh为例,使用bash的用户替换为~/.bash_profile):
echo 'export PATH="/usr/local/opt/thrift@0.15.0/bin:$PATH"' >> ~/.zshrc source ~/.zshrc
- 验证安装结果:
thrift --version
输出含Thrift version 0.15.0即为安装成功。
内容的提问来源于stack exchange,提问作者tuk
相关产品推荐
相关产品推荐

