You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter 3.13.3升级后Pub/Cache依赖类型不匹配报错求助

Flutter 3.13.3升级后依赖包类型不匹配问题解决

问题描述

将Flutter从3.0.4升级到3.13.3后,构建项目时出现大量类型不匹配、方法未定义错误,涉及flutter_math_fork:0.4.2+2和flutter_layout_grid:1.0.6两个依赖包:

  • flutter_math_fork中void Function(TapDownDetails)无法赋值给void Function(TapDragDownDetails)?参数
  • flutter_layout_grid中出现RenderObject?无法转换为AbstractNode?、markNeedsPlacement方法未定义等错误

已尝试删除pubspec.lock、.gradle文件夹,执行flutter pub cache repair、flutter clean && flutter pub get,问题未解决。

核心原因

上述两个依赖包版本过于陈旧,未适配Flutter 3.13及Dart 3.1的API变更:

  • Flutter 3.10+对手势相关API做了重构,拆分了TapDownDetails与TapDragDownDetails等类型
  • RenderObject.parent的类型在新版Flutter中发生变更,老版本flutter_layout_grid的类型转换逻辑失效

解决方案

1. 升级不兼容的依赖包

修改pubspec.yaml中的依赖版本:

# 替换为适配Flutter 3.13的版本
flutter_math_fork: ^0.7.1
flutter_layout_grid: ^2.0.0

执行命令更新依赖:

flutter clean && flutter pub get

2. 更新Gradle与Kotlin版本

Flutter 3.13需要更高版本的Gradle插件支持,修改项目根目录的build.gradle:

ext.kotlin_version = '1.8.22'
classpath 'com.android.tools.build:gradle:7.4.2'

同时修改gradle/wrapper/gradle-wrapper.properties中的Gradle分发版本:

distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip

3. 检查并升级其他过时依赖

执行命令查看所有过时依赖,确保其余包也适配Flutter 3.13:

flutter pub outdated

根据提示升级其他版本不兼容的依赖。

4. 重新构建项目

完成上述步骤后,重新运行项目:

flutter run

环境验证信息

[√] Flutter (Channel stable, 3.13.3, on Microsoft Windows [version 10.0.19045.3324], locale fr-FR)
    • Flutter version 3.13.3 on channel stable at [MY PATH]\app-flutter\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 2524052335 (6 days ago), 2023-09-06 14:32:31 -0700
    • Engine revision b8d35810e9
    • Dart version 3.1.1
    • DevTools version 2.25.0

内容的提问来源于stack exchange,提问作者PurplePill

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 21:10:54