关于nil的未定义方法'map'的错误:Flutter应用程序的NilClass/ CocoaPod错误

dxpyg8gm  于 2023-01-27  发布在  Flutter
关注(0)|答案(6)|浏览(129)

我的Flutter应用程序出现错误。当我在终端运行“flutter run”脚本时,我从Cocoapods收到以下错误:“CocoaPods的错误输出:搜索检查失败:未定义nil的方法'map':NilClass”(如附图所示)。

我该如何着手解决这个问题?

0ve6wy6x

0ve6wy6x1#

你用的是苹果M1吗?我也遇到过这个问题,经过一番研究,我发现这可能与Rosetta有关。你可以参考Running CocoaPods on Apple Silicon (M1)
我设法解决这个问题在我的MacBook Air M1通过在终端中键入这个:
sudo arch -x86_64 gem install ffi
从这里开始https://stackoverflow.com/a/65334677/13814270

vshtjzan

vshtjzan2#

我试图在ios文件夹中运行pod安装命令。@ boonyoyang解决方案是必要的,但似乎我安装了2个ffi,所以我也必须用arch -x86_64命令运行它

sudo arch -x86_64 gem install ffi
# go to ios folder then run
arch -x86_64 pod install

更新

@Chandrashekar-Ollala也提到了Flutter团队推荐的新方法。

sudo gem uninstall ffi && sudo gem install ffi -- --enable-libffi-alloc
js81xvg6

js81xvg63#

我花了好几个小时才弄明白这个问题,堆栈溢出的解决方案都不起作用。最后,我在官方Flutter文档中找到了这条注解:

这个问题出现在运行M1芯片的计算机上。只需在终端中运行以下代码片段,一切正常。

sudo gem uninstall ffi && sudo gem install ffi -- --enable-libffi-alloc
50few1ms

50few1ms4#

我在其他命令中找到了解决方案。任何ffi安装/重新安装都没有帮助。
我不得不手动清除所有cocopods缓存来修复这个问题。sudo rm -rf ~/.cocoapods/repos,然后pod install

vi4fp9gy

vi4fp9gy5#

在我的MacBook M1上,当我不小心在pubspec.yaml文件中添加了一个空行时,这个问题出现了。删除这一行解决了这个问题(看起来你不能一个接一个地有两个空行)。

mlnl4t2r

mlnl4t2r6#

正确的答案对我不起作用,所以我删除了Pod.lock文件,并应用以下步骤:
M1中可可Pod安装

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

相关问题