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

搭载M1芯片的MacBook Air执行pod install时CocoaPods出现undefined method `map' for nil:NilClass错误求助

解决M1芯片MacBook Air上CocoaPods pod install 架构不兼容问题

我之前在M1 Mac上也碰到过一模一样的问题!这个错误的核心原因是ffi-1.15.0的二进制文件是针对x86_64架构编译的,而M1采用的是arm64架构,系统自带的Ruby 2.6.0无法适配这种架构差异,才会抛出mach-o, but wrong architecture的错误。给你几个亲测有效的解决办法:

方法一:重新安装适配arm64的ffi

这是最直接的修复方式,针对M1架构重新编译安装ffi:

  • 先卸载现有的x86_64版本ffi:
    sudo gem uninstall ffi
    
  • 用arm64架构模式重新安装ffi:
    arch -arm64 sudo gem install ffi
    

安装完成后再尝试执行pod install,大概率就能正常运行了。

方法二:使用Homebrew安装Ruby(彻底解决架构兼容问题)

系统自带的Ruby版本偏旧,对M1的适配不够友好,改用Homebrew安装的Ruby可以从根源避免这类问题:

  1. 如果还没安装Homebrew,先执行安装命令:
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  2. 安装适配M1的Ruby:
    brew install ruby
    
  3. 将Homebrew的Ruby路径添加到环境变量中(如果你用的是zsh,编辑~/.zshrc;bash则编辑~/.bash_profile):
    在配置文件中添加一行:
    export PATH="/usr/local/opt/ruby/bin:$PATH"
    
  4. 刷新环境变量:
    source ~/.zshrc
    
    (如果是bash则执行source ~/.bash_profile)
  5. 最后重新安装CocoaPods:
    gem install cocoapods
    

方法三:临时用Rosetta兼容模式运行终端

如果不想折腾Ruby和依赖,也可以用Rosetta让终端运行在x86_64兼容模式下:

  • 找到「终端」应用,右键选择「显示简介」;
  • 勾选「使用Rosetta打开」,然后重启终端;
  • 在重启后的终端里执行pod install,旧的依赖就能在兼容模式下正常工作了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 15:17:32