M1芯片Rosetta 2终端执行pod install安装Parse提示Ruby资源缺失报错如何解决
问题根源
报错核心是路径不匹配:M1芯片Mac的原生ARM架构软件默认安装在/opt/homebrew路径下,Rosetta 2转译的x86_64环境才会使用/usr/local路径。你当前的Ruby shim硬编码了x86路径下的asdf可执行文件,但该路径下不存在asdf安装包,触发执行失败。
修复步骤
以下三种方案任选其一即可:
方案1:为Rosetta x86环境安装对应架构的asdf
适合需要长期使用Rosetta终端执行iOS相关开发命令的场景
- 打开Rosetta终端,执行
arch确认返回结果为x86_64 - 执行x86架构Homebrew的安装命令:
/usr/local/bin/brew install asdf - 重载Shell配置:使用zsh执行
source ~/.zshrc,使用bash执行source ~/.bash_profile - 重新执行
pod install即可正常安装依赖
方案2:修正asdf的Ruby shim指向
适合不想重复安装多架构asdf的场景
- 打开任意终端执行
rm ~/.asdf/shims/ruby删除失效的Ruby shim文件 - 执行
asdf reshim ruby重新生成匹配你实际asdf安装路径的shim - 回到Rosetta终端重新执行
pod install即可
方案3:切换到原生ARM终端执行命令
适合不再需要依赖x86架构开发组件的场景
- 右键终端.app,点击「显示简介」,取消勾选「使用Rosetta打开」,重启终端
- 执行
arch确认返回结果为arm64 - 执行
sudo gem install cocoapods安装适配ARM架构的CocoaPods - 重新执行
pod install即可
注意事项
如果你的CocoaPods是通过Homebrew安装的,操作前需要先卸载对应架构的安装包避免冲突:
- x86架构卸载命令:
/usr/local/bin/brew uninstall cocoapods - ARM架构卸载命令:
/opt/homebrew/bin/brew uninstall cocoapods
内容的提问来源于stack exchange,提问作者Papi
相关产品推荐
相关产品推荐

