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

执行pub get后Flutter/Dart提示double不是类型的问题排查求助

问题排查建议
  • 优先执行dart analyze命令行做全局分析,命令行输出会明确标注冲突的double类型定义来源路径,可直接定位冲突文件归属的依赖包,不要完全依赖Android Studio的IDE索引结果,IDE缓存延迟经常会输出误导性错误。
  • 对报红的double标识符执行跳转定义操作(Windows快捷键Ctrl+B,Mac快捷键Cmd+B),如果跳转后不是Dart SDK的原生定义,直接查看目标文件所属的依赖包即可定位问题来源。
  • 二分法缩小排查范围:先注释pubspec.yaml中一半的第三方依赖,执行pub get后验证问题是否复现。如果复现就继续在当前注释的范围内缩小排查区间,反之则在未注释的另一半依赖中排查,10分钟内即可完成中小项目的全量依赖排查。
pub get 拉取依赖的存储位置

pub拉取的所有公共依赖统一存在系统级的缓存目录中,默认路径如下:

  • Windows系统:%LOCALAPPDATA%\Pub\Cache
  • Mac/Linux系统:~/.pub-cache
    如果本地配置了PUB_CACHE环境变量,依赖会优先存储到环境变量指定的路径下。项目本地的.dart_tool目录仅存储依赖索引映射,不会保存完整的依赖包代码。
排查依赖问题的替代方案

不建议通过重命名缓存文件的方式绕过pub get,pub缓存有严格的哈希校验规则,直接修改缓存文件会导致整个依赖体系索引异常,额外引入不可预知的问题。可使用下面两种更稳妥的方案排查:

  • 按二分法修改pubspec.yaml的依赖列表,每次调整后执行pub get验证,操作成本极低。
  • 打开项目下的.dart_tool/package_config.json文件,查找所有依赖的本地存储路径,直接到对应路径下全局搜索顶层double关键字的定义,无需修改任何缓存文件即可定位冲突来源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 05:54:02