M1 Mac安装CocoaPods报错:Failed to build gem native extension求助
解决M1 Mac上安装CocoaPods时"Failed to build gem native extension"错误
错误根源分析
从终端日志看,存在两个核心问题:
.zshrc配置文件第5行存在引号不匹配的语法错误,可能干扰环境变量加载- 编译
ffi原生扩展失败,提示缺少开发工具,同时M1的arm64架构与系统自带的x86 Ruby存在兼容性冲突
分步解决方案
1. 修复.zshrc语法错误
- 打开配置文件:
open ~/.zshrc - 定位到第5行,检查双引号是否成对(比如是否漏写了闭合的
"),修正后保存文件 - 使配置生效:
source ~/.zshrc
2. 安装Xcode开发工具
编译原生扩展必须依赖Xcode命令行工具,执行以下命令安装:
xcode-select --install
安装完成后,需要同意Xcode许可协议:
sudo xcodebuild -license accept
3. 适配M1架构安装CocoaPods(二选一即可)
方案一:通过Rosetta兼容模式安装
- 找到「终端」App,右键选择「显示简介」,勾选「使用Rosetta打开」
- 重启终端,执行安装命令:
sudo gem install cocoapods
方案二:使用rbenv安装适配M1的Ruby(推荐,避免系统Ruby权限问题)
- 安装Homebrew(若未安装):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- 安装rbenv和ruby-build:
brew install rbenv ruby-build
- 配置rbenv到zsh环境:
echo 'eval "$(rbenv init - zsh)"' >> ~/.zshrc source ~/.zshrc
- 安装适配M1的Ruby稳定版(以3.2.2为例):
rbenv install 3.2.2 rbenv global 3.2.2
- 直接安装CocoaPods(无需sudo):
gem install cocoapods
4. 若仍遇ffi编译问题
手动指定ffi编译参数后再安装:
gem install ffi -- --enable-libffi-alloc gem install cocoapods
内容的提问来源于stack exchange,提问作者Carel Felix
相关产品推荐
相关产品推荐

