M1芯片Mac安装CocoaPods依赖提示ffi架构不匹配报错求助
M1芯片Mac CocoaPods ffi架构不匹配报错解决方案
核心原因是M1芯片Mac自带的系统Ruby为x86架构编译,和arm64架构的ffi依赖库存在兼容性问题,可选择以下任意一种方案解决:
方案1:直接安装适配arm64架构的ffi
- 执行命令编译安装适配arm64的ffi:
sudo arch -arm64 gem install ffi - 安装完成后进入项目iOS目录执行安装命令:
cd ./test/ios && arch -arm64 pod install
方案2:使用Rosetta模式运行终端
- 访达中找到「终端」应用,右键点击选择「显示简介」,勾选「使用Rosetta打开」后重启终端
- 依次执行以下命令:
sudo gem install cocoapods sudo gem install ffi cd ./test/ios pod install
方案3:使用Homebrew安装Ruby替代系统Ruby(长期稳定方案)
该方案可彻底避免后续Ruby相关的架构兼容问题:
- 首先确保已安装Homebrew,执行命令安装最新版Ruby:
brew install ruby - 配置环境变量,若使用zsh终端执行:
echo 'export PATH="/opt/homebrew/opt/ruby/bin:$PATH"' >> ~/.zshrc && source ~/.zshrc
若使用bash终端执行:echo 'export PATH="/opt/homebrew/opt/ruby/bin:$PATH"' >> ~/.bash_profile && source ~/.bash_profile - 验证Ruby路径,执行
which ruby,输出路径包含/opt/homebrew即为配置成功 - 重新安装CocoaPods:
gem install cocoapods - 进入项目iOS目录执行安装即可:
cd ./test/ios && pod install
注意:使用Homebrew安装的Ruby安装gem时无需加sudo,避免出现权限异常。
内容的提问来源于stack exchange,提问作者Khurram Sheikh
相关产品推荐
相关产品推荐

