Mac M1环境下React Native项目pod install报错求助
问题解决方案
一、修复chruby命令未找到的问题
- 先确认chruby是否安装:
执行brew list chruby,如果没有输出,先安装:brew install chruby ruby-install - 配置shell环境变量:
根据你用的shell类型,把下面两行加到对应的配置文件里:- zsh用户:编辑
~/.zshrc,添加:source /usr/local/share/chruby/chruby.sh source /usr/local/share/chruby/auto.sh - bash用户:编辑
~/.bash_profile或~/.bashrc,添加同样内容
- zsh用户:编辑
- 刷新配置:执行
source ~/.zshrc(或对应你的shell配置文件),再输入chruby验证是否能正常调用 - 锁定Ruby版本:执行
chruby 2.7.4,如果要永久生效,在配置文件末尾加chruby ruby-2.7.4(注意版本名要和chruby输出的一致)
二、解决stringio.bundle架构不兼容的LoadError
这个问题是因为现有stringio gem是x86_64架构编译的,和M1的arm64不匹配,按以下步骤处理:
- 卸载所有stringio版本:
gem uninstall stringio,提示时选卸载全部 - 用arm64架构重新安装stringio:
打开原生终端(别用Rosetta),执行:arch -arm64 gem install stringio -- --with-cflags="-arch arm64" - 进入ios目录,重新执行pod安装:
arch -arm64 pod install - 如果还是报错,尝试重装所有gem和cocoapods:
之后再跑arch -arm64 gem uninstall -aIx arch -arm64 gem install cocoapodsarch -arm64 pod install
额外验证
- 检查Ruby架构:执行
ruby -e 'puts RUBY_PLATFORM',输出如果是arm64-darwinXX(XX是你的macOS版本号),说明是arm64版本的Ruby;如果是x86_64开头,需要重新安装arm64版Ruby:arch -arm64 ruby-install ruby 2.7.4
内容的提问来源于stack exchange,提问作者M.Kalidass
相关产品推荐
相关产品推荐

