踩坑
在更新image_picker
的路上,简直是一波三折,足足花了我一整天的时间来搞这些,这里简单记录下过程,希望能对大家有所帮助。
安装image_picker
在pub get
的时候发生了错误:
Automatically assigning platform `iOS` with version `9.0` on target `Runner` because no platform was specified. Please specify a
解决方法是:找到Flutter
中的Podfile
文件,指定iOSplatform
的版本
接着继续pub get
出现了以下错误:
undefined method `each_child' for #<Dir:0x007f845dce4080>
Did you mean? each_slice
查了些资料,这里是说each_child
方法找不到, 这个方法的调用是在 flutter_tools/bin/podhelper.rb.
继续看报错信息:
/Users/xxx/.rvm/gems/ruby-2.4.1@global/gems/cocoapods-core-1.10.1/lib/cocoapods-core/podfile.rb:179:in `post_install!'
/Users/xxx/.rvm/gems/ruby-2.4.1@global/gems/cocoapods-1.10.1/lib/cocoapods/installer.rb:897:in `run_podfile_post_install_hook'
/Users/xxx/.rvm/gems/ruby-2.4.1@global/gems/cocoapods-1.10.1/lib/cocoapods/installer.rb:885:in `block in run_podfile_post_install_hooks'
/Users/xxx/.rvm/gems/ruby-2.4.1@global/gems/cocoapods-1.10.1/lib/cocoapods/user_interface.rb:145:in `message'
Ruby
安装
each_child
这个方法在Ruby
的2.6的版本中才出现,于是我就查了一下当前的Ruby
版本,果然当前是2.4.1版本,此时我就要开始升级Ruby
了。在升级的过程中也踩了一些坑,我使用的是RVM
来更新Ruby
查看历史
Ruby
版本:rvm list known
我一般使用最新版本的上一个版本,所以我就执行安装的版本为2.7.2
指定安装的版本
rvm install ruby-2.3.1
结果提示我,要安装先去升级
homebrew
,好吧,那我就按照提示来更新
brew
,在更新的过程提示我执行下面的这个命令
按照提示继续克隆
homebrew-core
git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow
但是吧,默认关联 git 仓库是国外的,速度慢,还经常被墙,导致
early EOF
之类的错误,反正我试了不下5次都是这个提示,后面我就放弃了,最后选择使用国内中科大的零时镜像。我卸载了之前的
homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
安装新的
homebrew
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
选择中科大的下载源,这里比较友好呀,好多中文提示。再也不用对着有道翻译来了。这里一共有5个下载源中科大、清华大学、北京外国语大学、腾讯和阿里巴巴。参考了其他的意见,最后选择了大家都使用的中科大的镜像。
next->根据提示来
source /Users/xxx/.zprofile
查看下载的
brew
的版本,如果有版本信息,说明已经下载完成brew -v
此时再来更新
Ruby
,默认更新到最新的版本rvm install ruby
此时终于安装完成。然后再回到Flutter
项目中Pub get
喜大普奔~~