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
相关产品推荐
相关产品推荐

