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

Flutter 3.3.2中无法添加mocktail依赖的问题求助

解决Flutter 3.3.2添加mocktail依赖失败的问题

问题重现

升级Flutter至3.3.2后,在pubspec.yaml中添加mocktail依赖时失败,修改环境参数为:

environment:
  sdk: ">=2.12.0 <3.0.0"

dev_dependencies:
  flutter_test:
      sdk: flutter

    flutter_lints:
    flutter_launcher_icons: ^0.10.0
    integration_test:
      sdk: flutter
    mocktail:

报错信息如下:

Error on line 1, column 1 of ..\..\flutter_windows_v1.12.13Base\flutter\.pub-cache\hosted\pub.dartlang.org\.cache\mocktail-versions.json: Invalid version constraint:
Expected version number after ">=" in ">=2.12-0-0 <3.0.0", got "2.12-0-0 <3.0.0".

pub get failed (65; Error on line 1, column 1 of 
..\..\flutter_windows_v1.12.13Base\flutter\.pub-cache\hosted\pub.dartlang.org\.cache\mocktail-versions.json: Invalid version constraint:
 Expected version number after ">=" in ">=2.12-0-0 <3.0.0", got "2.12-0-0 <3.0.0".)

Process finished with exit code 65

flutter doctor检测无异常。

解决步骤

1. 修复pubspec.yaml的格式与配置

pubspec.yaml存在缩进错误、依赖缺失版本号的问题,同时环境SDK约束需匹配Flutter 3.3.2对应的Dart版本(2.18.1),修改后内容如下:

environment:
  sdk: ">=2.18.0 <3.0.0" # Flutter 3.3.2对应Dart 2.18.1

dev_dependencies:
  flutter_test:
    sdk: flutter
  flutter_lints: ^2.0.0
  flutter_launcher_icons: ^0.10.0
  integration_test:
    sdk: flutter
  mocktail: ^0.3.0 # 指定兼容Dart 2.12+的版本

2. 清理Pub缓存

缓存文件损坏导致版本解析失败,执行命令清理缓存:

flutter pub cache clean

3. 重新获取依赖

清理完成后,运行命令重新拉取依赖:

flutter pub get

问题原因

  • pubspec.yaml的YAML格式要求严格,缩进错误、依赖未指定版本号会导致依赖解析流程异常。
  • 环境SDK约束需与当前Flutter版本匹配,Flutter 3.3.2对应的Dart版本为2.18.1,明确指定最低版本为2.18.0能避免潜在的版本兼容问题。
  • Pub缓存中的mocktail-versions.json文件损坏,导致版本约束解析失败,清理缓存后重新获取可生成正确的缓存文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 12:20:42