Flutter项目iOS端运行报错:File类不存在exists?方法
解决Flutter iOS端pod install报错:undefined method `exists?' for File:Class
这个问题是Ruby 3.0+版本移除了File.exists?方法(替换为File.exist?,少了末尾的s),而Flutter自带的pod脚本还在用旧方法导致的,给你几个可行的解决办法:
修改Flutter SDK的podhelper.rb脚本
找到你的Flutter安装目录,进入packages/flutter_tools/bin,打开podhelper.rb文件,把里面所有的File.exists?替换成File.exist?,保存后重新执行pod install。降级Ruby到2.7.x版本
如果用rbenv管理Ruby版本:- 安装2.7.8版本:
rbenv install 2.7.8 - 在项目根目录执行:
rbenv local 2.7.8
然后重新执行pod install即可。
- 安装2.7.8版本:
临时给Podfile添加兼容方法
打开项目iOS目录下的Podfile,在最顶部添加这段代码:class File def self.exists?(path) exist?(path) end end然后再调用
flutter_install_all_ios_pods,执行pod install就能正常运行。
最后记得清理一下残留:删除iOS目录下的Pods文件夹和Podfile.lock,再重新执行pod install,之后运行Flutter项目应该就没问题了。
内容的提问来源于stack exchange,提问作者Abhishek Sinha
相关产品推荐
相关产品推荐

