安装flutterfire_cli报SDK版本不兼容 升级Dart后仍报错如何解决
Flutter安装flutterfire_cli报SDK版本不兼容解决方案
问题根因
你通过choco单独安装升级的独立Dart SDK,和Flutter SDK内置绑定的Dart SDK是两个完全独立的运行环境。执行dart相关全局命令时,系统会优先调用Flutter目录下自带的Dart程序,你当前Flutter版本内置的Dart版本为2.13.4,达不到flutterfire_cli的最低版本要求,所以哪怕单独装了高版本独立Dart,命令实际运行时还是走旧版本内置SDK,报错会持续存在。
修复步骤
- 先卸载独立安装的Dart SDK,避免环境优先级冲突,管理员身份打开终端执行:
Flutter开发场景下不需要单独安装Dart SDK,统一使用Flutter内置绑定的版本即可,单独安装反而容易出现环境混乱问题。choco uninstall dart-sdk -y - 升级Flutter到对应稳定版本,同步更新内置的Dart SDK,执行:
升级完成后执行flutter upgradedart --version验证,确认输出的Dart版本≥2.14.0即可。如果升级后Dart版本≥3.0.0也无需担心,最新版flutterfire_cli已经适配Dart3,不会再触发老版本依赖的版本限制报错。 - 清理之前安装失败的全局包缓存,执行:
dart pub global deactivate flutterfire_cli - 重新安装flutterfire_cli:
dart pub global activate flutterfire_cli - 验证环境变量配置:打开Windows系统环境变量设置面板,确认
C:\Users\sjrol\OneDrive\Documentos\flutter\.pub-cache\bin路径已添加到系统PATH变量中,且优先级不要低于Flutter SDK的bin目录路径。 - 关闭所有已打开的终端、VSCode窗口后重新打开,执行
flutterfire --version,如果能正常输出版本号说明修复完成。
其他说明
- 你之前创建
.bashrc写入的路径配置仅对Git Bash类终端生效,对Windows默认的cmd、PowerShell以及Flutter控制台无效,不需要保留该配置,直接在系统环境变量面板修改PATH即可对所有终端生效。 - 你提到的
flutter doctor输出中存在的Android相关报错和本次问题完全无关,不会影响flutterfire_cli的安装和运行,不需要额外处理。 - 如果你的项目因为版本锁定不能升级Flutter,可以临时调整系统PATH优先级,把choco安装的2.17.3版本Dart路径放到Flutter SDK路径前面,激活完flutterfire_cli之后再把PATH优先级改回去,但是该方案后续运行flutterfire命令时可能出现版本兼容问题,非必要不使用。
内容的提问来源于stack exchange,提问作者S_Rollan
相关产品推荐
相关产品推荐

