Flutter 3.13升级后Windows应用编译失败,sliver_tools库出现类型兼容错误求助
Flutter 3.13升级后Windows应用编译失败,sliver_tools库出现类型兼容错误求助
老哥,这个问题我之前碰到过类似的,本质是你用的sliver_tools-0.2.10版本和Flutter 3.13的API不兼容导致的,给你几个靠谱的解决办法:
优先升级sliver_tools依赖
这是最稳妥的方案,打开你的pubspec.yaml文件,找到sliver_tools的依赖项,把版本号更新到兼容Flutter 3.13的版本(比如^0.2.11及以上),然后执行:flutter pub get或者直接用命令自动升级到最新兼容版本:
flutter pub upgrade sliver_tools清除Pub缓存再重试
如果升级依赖后还是报错,可能是缓存的旧代码在捣乱,执行以下命令清除缓存后重新拉取依赖:flutter pub cache clean flutter pub get临时修改本地源码应急(不推荐长期用)
要是暂时没法升级依赖,你可以手动修改本地sliver_tools的源码来修复这个类型错误:
找到报错的文件C:/Users/Ian/AppData/Local/Pub/Cache/hosted/pub.dev/sliver_tools-0.2.10/lib/src/sliver_stack.dart,把第282和283行的代码:final AbstractNode? targetParent = renderObject.parent; if (targetParent is RenderObject) targetParent.markNeedsLayout();修改为:
final RenderObject? targetParent = renderObject.parent; targetParent?.markNeedsLayout();这样就能解决类型不匹配和方法不存在的问题了,不过这个只是临时方案,后续还是记得升级依赖哦。
备注:内容来源于stack exchange,提问作者Davout
相关产品推荐
相关产品推荐

