flutter升级踩坑

1,658 阅读1分钟

执行flutter upgrade时出现ProcessException:Process exited abnormally:(关键信息)error:cannot lock ref "xxx":unable to resolve reference:"xxx":reference broken

下面会列出一系列的branch

截屏2020-10-12 上午9.29.14.png

解决方案:找到那个出错的branch,将其移除

     rm .git/refs/remotes/origin/beta

执行flutter upgrade时出现Your flutter checkout has local....

截屏2020-10-12 上午9.40.11.png

因为flutter upgrade本身是一种类似git pull的操作,所以本地有修改没提交的时候会无法更新,按照提示做就可以。

简单一点解决:

     flutter upgrade --force

更新完成之后出现The iOS deployment target "IPHONEOS_DEPLOYMENT_TARGET"is set to 8.0

一般是由于pod里的库适配的是8.0版本,但新版flutter已经不适配8.0了 解决方式是在podfile里添加三方库的版本限制

post_install do |installer|
     installer.pods_project.targets.each do |target|//找到这个位置,里面插入
          target.build_configurations.each do |config|
                   config.build_setting['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0'
          end
      //
   end
end

更新完成之后出现flutter fluro与系统Router冲突

报错

Error: 'Router' is imported from both 'package:fluro/src/router.dart' and 'package:flutter/src/widgets/router.dart'

解决方案:

1.项目中不再引用fluro这个库

2.把flutter的版本还原回去吧。。。

3.全局替换

import 'package:flutter/material.dart'
import 'package:flutter/material.dart' hide Router