M1 Mac运行Flutter项目时出现2.6/ffi_c加载错误求助
M1 Mac Flutter项目中
ffi_c (LoadError)问题的解决办法 以下是针对该问题的几种有效解决思路,按优先级尝试:
通过Rosetta兼容模式安装ffi
M1芯片的arm64架构与系统自带的x86版Ruby存在兼容冲突,用Rosetta运行终端可解决:- 找到「终端」应用,右键选择「显示简介」,勾选「使用Rosetta打开」
- 重启终端,执行命令卸载并重装ffi:
gem uninstall ffi gem install ffi
指定架构强制安装ffi
直接在终端通过架构参数指定以x86模式安装ffi:arch -x86_64 gem install ffi或者添加编译参数:
gem install ffi -- --enable-libffi-alloc更换适配arm64的Ruby版本
系统自带的Ruby 2.6对M1支持不佳,建议用rbenv安装适配arm64的Ruby版本:- 安装rbenv和ruby-build:
brew install rbenv ruby-build - 初始化rbenv(按终端提示完成配置,之后重启终端):
rbenv init - 安装兼容arm64的Ruby版本(比如3.2.2):
rbenv install 3.2.2 - 设置全局使用该Ruby版本:
rbenv global 3.2.2 - 重新安装ffi:
gem install ffi
- 安装rbenv和ruby-build:
重置Flutter iOS端依赖
进入项目的ios目录,执行以下命令重置pod依赖:pod deintegrate pod install
内容的提问来源于stack exchange,提问作者Frank
相关产品推荐
相关产品推荐

