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

Flutter安装Freezed报错:freezed依赖自身导致版本求解失败

问题根因

报错的核心原因是你当前Flutter项目在pubspec.yaml中声明的项目名就是freezed,和你要引入的第三方包Freezed完全同名。Dart的pub包管理工具会默认将同名依赖识别为项目自身,因此触发「包不能将自身列为依赖」的规则,直接导致版本求解失败,和你当前使用的系统版本、Flutter/Dart版本没有关系,也不是Freezed包本身的故障。

你可以直接打开项目根目录下的pubspec.yaml,查看最顶部的非注释配置项,大概率能看到如下配置:

name: freezed
修复步骤
  • 修改pubspec.yaml顶部的name字段值,改成和Freezed不重名的自定义名称,比如freezed_practice、my_todo_app这类,命名需要符合Dart包规范:全小写、以下划线分隔单词、不包含特殊字符和保留字。
  • 如果你之前手动在dependencies或dev_dependencies块中添加过freezed: any的配置,先把这行错误配置删除。
  • 保存配置后执行flutter clean清理历史构建缓存,再重新执行依赖安装命令:
flutter pub add freezed_annotation
flutter pub add --dev build_runner
flutter pub add --dev freezed

Freezed正常运行需要三个配套依赖:生产依赖freezed_annotation、开发依赖build_runner(用于代码生成)、开发依赖freezed(核心生成逻辑),不要漏装否则后续代码生成会报错。

通用排查提示

后续引入任何第三方Flutter/Dart包时,如果出现同类A package may not list itself as a dependency报错,第一时间检查自身项目名是否和待引入的包重名,这是pub依赖管理的通用校验规则,和具体引入的包无关。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 01:27:30