Flutter项目firebase_auth^1.4.1与http^0.12.2版本解决失败求助
问题根因
冲突来自http_parser包的版本依赖要求不匹配:
- 你当前使用的
firebase_auth: ^1.4.1依赖firebase_auth_web: ^1.3.1,后者要求http_parser ^4.0.0 - 你尝试安装的
http: ^0.12.2仅支持http_parser >=0.0.1 <4.0.0,二者要求完全冲突,所以版本解算失败
解决方案
方案1(推荐,改动最小)
直接升级http包到兼容版本,将pubspec.yaml中http的版本改为:
http: ^0.13.0
这个版本的http包已经适配http_parser ^4.0.0,和你现有的firebase系列依赖完全兼容,且你的SDK环境是>=2.12.0 <3.0.0,满足http 0.13.x的空安全要求,不需要修改其他依赖。
修改后执行flutter clean,再运行flutter pub get即可。
方案2(需保留http 0.12.x版本时使用)
如果你因为现有代码兼容问题暂时不想升级http到0.13.x,可以添加依赖覆盖强制指定http_parser版本,在pubspec.yaml中新增如下配置:
dependency_overrides: http_parser: ^4.0.0
这个配置会强制整个项目使用4.0.0版本的http_parser,绕过版本冲突检查,一般不会引发功能问题,http 0.12.2在绝大多数场景下可以兼容高版本http_parser。
额外注意事项
你当前的pubspec.yaml存在格式错误:loading_animations: "^2.1.0"这行没有和其他依赖项对齐缩进,需要调整到和http: ^0.12.2同级的缩进位置,否则可能引发pub解析错误。
内容的提问来源于stack exchange,提问作者noob Developer
相关产品推荐
相关产品推荐

