'_RenderSliverValueLayoutBuilder' is missing implementations for these members:

Swift + Flutter 项目混编,升级Xcode 以及 Flutter SDK,运营原有项目报错

[+2377 ms] ../../../../.pub-cache/hosted/pub.flutter-io.cn/value_layout_builder-0.4.0/lib/src/sliver_value_layout_builder.dart:99:7: Error: The non-abstract class '_RenderSliverValueLayoutBuilder' is missing implementations for these members:

错误日志表明value_layout_builder 插件的 _RenderSliverValueLayoutBuilder 类没有实现 RenderSliver 抽象类的所有必需方法

这个通常是因为插件版本与你的 Flutter SDK 不兼容导致的,所以想着升级下对应的Flutter 插件(value_layout_builder),搜索对应插件,如下所示


image.png

一般升级某个插件只要修改对应.yaml文件,然后futter pub get即可,但对于.lock文件,它由 Pub 工具自动生成和维护,详细记录项目所用的每个依赖的确切版本,修改它其实没有任何意义,查看对应的value_layout_builder确实是0.4.0


image.png

现在能确定是的项目中确实用到 value_layout_builder 插件,且对应版本就是0.4.0,最新插件的版本以及链接https://pub.dev/packages/value_layout_builder/install

上面的截图中我们发现,全局搜索并没有在.yaml文件中发现 value_layout_builder,那就说明可能是其他插件内部引用了 value_layout_builder 插件,如果要每个去找对应依赖,那相当费时费力,有个命令可以查看某个插件都被那些插件依赖,以value_layout_builder为例

flutter pub deps --style=compact | grep value_layout_builder

最终我们发现


image.png

继续搜索 插件 flutter_sticky_header 发现


image.png

flutter_sticky_header插件地址https://pub.dev/packages/flutter_sticky_header/install
最新版本为0.8.0
那么我们就需要升级 flutter_sticky_header 插件即可 ,修改对应的 .yaml文件

image.png

flutter pub get ,至此,问题解决
总结:

  • 一般升级SDK版本,或多会少可能会遇到插件不兼容的问题,基本上升级至最新版本即可解决,对于复杂的项目,或者说拆分的模块比较多的项目,通过命令查找对应的依赖关系会节省很多时间成本
    下面是我们自己项目的一个flutter pub get脚本,可以简单看出模块
image.png

每个模块下面又会有对应的.yaml文件,如果项目更大,找起来特别费劲,所以学会使用 命令

flutter pub deps --style=compact | grep xxx

可以节省很多时间

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容