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

M1芯片执行sudo arch -x86_64 gem install ffi及Ruby更新后pod install报错

M1芯片设备上Pod Install故障排查与解决建议

问题描述

一直在研究如何让pod install在M1芯片设备上正常运行,但仍未解决问题。此前已尝试以下操作:

  • 执行sudo arch -x86_64 gem install ffi
  • 更新Ruby至3.1版本并设置路径覆盖系统默认
  • 分别执行arch -x86_64 pod install和pod install

更新Ruby解决了部分错误,但运行pod install时仍出现如下报错:

/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/user_interface/error_report.rb:34:in `force_encoding': can't modify frozen String (FrozenError)
    from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/user_interface/error_report.rb:34:in `report'
    from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/command.rb:66:in `report_error'
    from /Library/Ruby/Gems/2.6.0/gems/claide-1.1.0/lib/claide/command.rb:396:in `handle_exception'
    from /Library/Ruby/Gems/2.6.0/gems/claide-1.1.0/lib/claide/command.rb:337:in `rescue in run'
    from /Library/Ruby/Gems/2.6.0/gems/claide-1.1.0/lib/claide/command.rb:324:in `run'
    from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/command.rb:52:in `run'
    from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/bin/pod:55:in `<top (required)>'
    from /usr/local/bin/pod:23:in `load'
    from /usr/local/bin/pod:23:in `<main>'
/Library/Ruby/Gems/2.6.0/gems/xcodeproj-1.21.0/lib/xcodeproj/project.rb:228:in `initialize_from_file': [Xcodeproj] Unknown object version (56). (RuntimeError)
    from /Library/Ruby/Gems/2.6.0/gems/xcodeproj-1.21.0/lib/xcodeproj/project.rb:113:in `open'
    from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/analyzer.rb:1190:in `block (2 levels) in inspect_targets_to_integrate'
    from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/analyzer.rb:1189:in `each'
    from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/analyzer.rb:1189:in `block in inspect_targets_to_integrate'
    from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/user_interface.rb:64:in `section'
    from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/analyzer.rb:1184:in `inspect_targets_to_integrate'
    from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/analyzer.rb:106:in `analyze'
    from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:416:in `analyze'
    from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:241:in `block in resolve_dependencies'
    from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/user_interface.rb:64:in `section'
    from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:240:in `resolve_dependencies'
    from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:161:in `install!'
    from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/command/install.rb:52:in `run'
    from /Library/Ruby/Gems/2.6.0/gems/claide-1.1.0/lib/claide/command.rb:334:in `run'
    from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/command.rb:52:in `run'
    from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/bin/pod:55:in `<top (required)>'
    from /usr/local/bin/pod:23:in `load'
    from /usr/local/bin/pod:23:in `<main>'

解决建议

从报错信息看,核心问题有两个:Ruby版本与CocoaPods的兼容冲突(FrozenError)、Xcodeproj版本不支持当前Xcode项目的对象版本(56)。以下是针对性解决步骤:

1. 升级Xcodeproj到兼容版本

[Xcodeproj] Unknown object version (56)说明当前xcodeproj 1.21.0不支持项目的对象版本,需要升级:

sudo gem install xcodeproj --version '>= 1.22.0'

若用rbenv/rvm管理Ruby,可去掉sudo直接安装。

2. 确保CocoaPods关联到Ruby 3.1环境

报错显示仍在使用系统Ruby 2.6.0,说明Ruby 3.1未正确关联CocoaPods,重新安装:

  • 卸载当前CocoaPods:
    sudo gem uninstall cocoapods
    
  • 切换到Ruby 3.1环境(rbenv执行rbenv local 3.1.0,rvm执行rvm use 3.1.0),重新安装:
    gem install cocoapods
    
  • 验证环境:
    pod --version
    which pod
    
    确保which pod指向Ruby 3.1的gem目录,比如~/.rbenv/shims/pod或~/.rvm/gems/ruby-3.1.0/bin/pod。

3. 用Rosetta 2终端执行命令

若上述方法无效,完全在Rosetta 2环境下操作:

  • 右键终端应用→「显示简介」,勾选「使用Rosetta打开」,重启终端。
  • 执行:
    gem install cocoapods
    pod install
    

4. 清理Pod缓存

缓存文件可能引发冲突,执行清理:

pod cache clean --all
rm -rf Pods/
rm -rf Podfile.lock
pod install

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 17:20:33