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

Flutter中dart pub outdated未显示provider依赖更新问题

为什么provider依赖未出现在dart pub outdated的更新列表中?

问题场景

项目的pubspec.yaml中配置了以下依赖:

dependencies:
  flutter:
    sdk: flutter


  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.
  cupertino_icons: ^1.0.6
  provider: ^6.0.0
  firebase_auth: ^3.11.2

执行dart pub outdated后,输出仅显示:

Package Name   Current  Upgradable  Resolvable  Latest  

direct dependencies:
firebase_auth  *3.11.2  *3.11.2     5.1.3       5.1.3   
    
dev_dependencies:
flutter_lints  *3.0.2   *3.0.2      4.0.0       4.0.0 

但pub.dev显示provider的最新版本为6.1.2,却未出现在更新列表中。

原因解析

这是因为你配置的provider版本约束是^6.0.0,这个符号的含义是:允许安装所有大于等于6.0.0且小于7.0.0的版本。而6.1.2完全符合这个范围,dart pub outdated默认只会列出那些当前版本约束无法覆盖的更新(比如需要升级主版本号,或者当前约束不允许的版本)。

对于处于约束范围内的最新兼容版本,pub会认为该依赖已经处于“可自动升级”的状态,不会将其放入pub outdated的待更新列表中。

验证与处理

  • 执行dart pub upgrade命令,pub会自动将provider升级到6.1.2,因为该版本符合^6.0.0的约束。
  • 如果希望provider出现在pub outdated的列表中,可以修改版本约束为固定版本(比如6.0.0,去掉^符号),此时6.1.2就会被识别为可更新版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 02:13:12