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

Flutter新项目执行flutter pub get拉取旧项目依赖问题求助

Flutter新项目pub get拉取大量非声明依赖的解决方法

我在Flutter新项目中执行flutter pub get时,发现拉取了很多未在pubspec.yaml中声明的依赖包(比如firebase系列、awesome_notifications等),但我的pubspec仅配置了少量依赖:

dependencies:
  flutter:
    sdk: flutter

  cupertino_icons: ^1.0.2
  native_notify: ^0.0.17

执行flutter pub get后输出了大量额外依赖,且清理pub缓存后问题依旧。


1. 先明确依赖来源

执行以下命令查看完整依赖树,就能清楚看到这些额外依赖是被哪个包间接引入的:

flutter pub deps

你会发现firebase、awesome_notifications这类包大概率是native_notify的间接依赖,而collection、intl等则是Flutter SDK自带的基础依赖,版本和当前SDK绑定。

2. 彻底清理项目本地残留

  • 删除项目根目录下的pubspec.lock文件(该文件记录旧依赖版本,可能残留无效配置)
  • 删除项目根目录的.dart_tool文件夹(Dart本地工具缓存,可能存旧依赖数据)
  • 重新执行flutter pub get

3. 升级Flutter SDK

你看到的collection、intl、material_color_utilities等基础依赖版本和Flutter SDK版本绑定,旧SDK会拉取对应旧版本依赖。执行命令升级SDK:

flutter upgrade

升级完成后再重新执行flutter pub get。

4. 强制覆盖冲突依赖版本(可选)

如果确认是native_notify依赖了旧版本的firebase等包,可在pubspec.yaml中添加dependency_overrides强制使用新版本:

dependency_overrides:
  firebase_core: ^2.15.0
  firebase_messaging: ^14.6.5
  # 按需添加其他需要覆盖的依赖

⚠️ 注意:这种方法可能导致native_notify出现兼容性问题,优先查看native_notify更新日志,确认是否有适配新版本依赖的版本,优先升级native_notify。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 10:52:03