You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

M1 macOS上pod install任务失败求助

解决React Native pod install 中ffi版本不兼容及Ruby路径冲突问题

1. 彻底清理冲突的Ruby环境依赖

先确保当前使用目标Ruby版本,清理掉所有冲突的ffi依赖:

  • 切换并设置默认Ruby版本:rvm use 2.7.5 --default
  • 卸载所有版本的ffi:gem uninstall ffi --all --executables
  • 清空当前gemset的冗余依赖(若使用了rvm gemset):rvm gemset empty

2. 统一架构重新编译ffi

M1/M2芯片的架构差异是常见诱因,需确保ffi编译架构与当前Ruby运行架构匹配:

  • 先确认终端架构:arch,arm64用原生终端,x86_64用Rosetta打开终端
  • arm64架构下安装:gem install ffi -- --enable-libffi-alloc
  • x86_64架构下安装:arch -x86_64 gem install ffi

3. 锁定CocoaPods到兼容版本

Ruby 2.7.5与CocoaPods 1.11.x版本兼容性最优,避免高版本适配问题:

  • 卸载现有CocoaPods:gem uninstall cocoapods --all --executables
  • 安装指定兼容版本:gem install cocoapods -v 1.11.3

4. 确保pod命令指向当前Ruby环境

避免调用Homebrew或其他路径的pod命令,统一使用rvm管理的版本:

  • 查看当前pod路径:which pod,正确路径应为/Users/user/.rvm/gems/ruby-2.7.5/bin/pod
  • 若路径不符,将rvm目录加入PATH优先级:export PATH="$HOME/.rvm/bin:$PATH",然后重载shell配置:source ~/.zshrc(或~/.bash_profile)

5. 清理Pod缓存后重新安装

进入项目ios目录,清理残留依赖后重新执行安装:

  • 删除锁文件:rm Podfile.lock
  • 删除Pods文件夹:rm -rf Pods
  • 清空CocoaPods全局缓存:pod cache clean --all
  • 重新执行安装:pod install

若仍有问题,检查项目根目录的.ruby-version文件,确保内容为2.7.5,避免rvm自动切换到其他版本。

内容的提问来源于stack exchange,提问作者Juliane Mohr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 23:15:34