我的 Flutter 应用程序出现错误。当我在终端中运行“flutter run”脚本时,我从 Cocoapods 收到以下错误:“CocoaPods 的错误输出:搜索检查失败:nil:NilClass 的未定义方法‘map’”(也可从附件中看到)图片)。
我该如何解决这个问题?
我试图在 ios 文件夹中运行 pod install 命令。 @boonyongyang解决方案是必要的,但似乎我安装了2个
ffi
,所以我还必须使用arch -x86_64
命令运行它
sudo arch -x86_64 gem install ffi
# go to ios folder then run
arch -x86_64 pod install
flutter 团队有一个新推荐方法,@Chandrashekar-Ollala 也提到过
sudo gem uninstall ffi && sudo gem install ffi -- --enable-libffi-alloc
您使用的是苹果M1吗?我也遇到了这个问题,经过一些研究,我发现这可能与 Rosetta 有关。您可以参考在 Apple Silicon (M1) 上运行 CocoaPods。
我通过在终端中输入以下内容成功解决了 MacBook Air M1 上的此问题:
sudo arch -x86_64 gem install ffi
我在其他命令中找到了解决方案。任何
ffi
安装/重新安装都没有帮助。
我必须手动清除所有 cocoapods 缓存才能解决该问题。
sudo rm -rf ~/.cocoapods/repos
,然后pod install
。
正确的答案对我不起作用,所以我删除了 Pod.lock 文件并应用了以下步骤:
M1 中的可可豆荚安装
sudo gem install cocoapods
sudo gem install ffi
arch -x86_64 sudo gem install cocoapods -n /usr/local/bin
sudo gem install cocoapods -n /usr/local/bin
安装ffi
sudo arch -x86_64 gem install ffi
#更新仓库
arch -x86_64 pod install --repo-update
Flutter iOS 构建
flutter clean
flutter build ios
在我的 MacBook M1 上,当我不小心向
pubspec.yaml
文件中添加了一个空行时,出现了这个问题。删除该行解决了问题(看起来不能连续有两个空行)。
就我而言,关键是为 x86_64 安装 ruby 3.1.2。
为了实现这一目标,我需要:
bundle install
在ios文件夹中remove Podfile.lock
flutter clean
flutter build ios