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

M2 Max macOS设备上Flutter应用启动失败,官方修复无效求助

解决M2 Max macOS上Flutter pod install的ffi架构不兼容问题

核心原因

M2 Max是arm64架构,若终端通过Rosetta以x86_64模式运行,gem会默认安装x86_64版本的ffi,导致架构不匹配触发错误。

分步解决方案

1. 切换终端到原生arm64模式

  • 打开访达,进入「应用程序/实用工具」
  • 右键点击「终端」→「显示简介」
  • 取消勾选「使用Rosetta打开」,重启终端生效

2. 彻底清理所有旧版本ffi

执行以下命令,一次性卸载所有ffi版本,避免残留:

sudo gem uninstall -aIx ffi

3. 强制安装arm64架构的ffi

指定架构参数安装,确保生成适配M2 Max的版本:

sudo gem install ffi -- --with-cflags="-arch arm64" --with-ldflags="-arch arm64" --enable-libffi-alloc

4. 清理Flutter及Pod缓存

Flutter可能缓存了旧的Pod配置,需要彻底清理后重新安装:

flutter clean
rm -rf ios/Pods
rm ios/Podfile.lock
cd ios
pod repo update
pod install --repo-update
cd ..
flutter run

5. 排查Ruby版本管理器(若使用)

如果你用rbenv或rvm管理Ruby,确保安装的是arm64版本的Ruby:

  • 用rbenv的话:
    rbenv install --list # 查看支持的arm64 Ruby版本,比如3.2.2
    rbenv install 3.2.2
    rbenv global 3.2.2
    
    安装完成后,重新执行步骤2-3的ffi安装命令

验证安装结果

执行以下命令确认ffi是arm64版本:

gem which ffi
# 复制输出的路径,替换到下面命令中
lipo -info $(gem which ffi | sed 's/lib\/ruby\/.*\.rb/extensions\/arm64-darwin.*\/ffi_c.bundle/')

输出包含arm64即说明安装正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 10:14:57