执行pod install失败,遭遇Ruby psych库架构不兼容问题
解决
pod install时的psych架构不兼容错误(arm64 vs x86_64) 问题描述
执行pod install时触发LoadError,核心报错信息:
mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')
已安装的psych-5.1.0的psych.bundle为x86_64架构,与当前arm64架构的Mac不兼容,同时伴随Ruby缺失psych库的警告。
解决方案
方案一:重新安装适配arm64架构的psych
- 卸载现有冲突版本
gem uninstall psych -v 5.1.0
- 以arm64架构重新安装psych
arch -arm64 gem install psych -v 5.1.0
- 再次执行
pod install
方案二:切换到适配arm64的Ruby环境(推荐)
系统默认Ruby可能存在架构兼容问题,建议用rbenv安装arm64版本的Ruby:
- 安装rbenv
brew install rbenv
- 初始化rbenv(按提示将初始化命令添加到shell配置文件,如
~/.zshrc)
rbenv init
- 安装适配arm64的Ruby版本(示例为3.2.2,可选择其他兼容版本)
rbenv install 3.2.2
- 设置全局Ruby版本
rbenv global 3.2.2
- 重新安装CocoaPods
gem install cocoapods
- 执行
pod install验证
原因说明
M系列Mac采用arm64架构,若之前通过Rosetta(x86_64兼容模式)运行终端安装gem,会导致安装的库为x86_64架构,与原生arm64环境冲突。通过上述方法安装对应架构的依赖或切换Ruby环境即可解决。
内容的提问来源于stack exchange,提问作者Usman Nisar
相关产品推荐
相关产品推荐

