Flutter配置get_cli时出现ShellException(dart migrate)错误求助
解决get_cli执行
dart migrate命令报错问题 问题概述
使用Windows Powershell为Flutter项目配置get_cli时,工具自动执行dart migrate --apply-changes --skip-import-check命令,触发错误:
Could not find a command named "migrate" error_unexpected ShellException(dart migrate --apply-changes --skip-import-check, exitCode 64, workingDirectory: path)
本地环境:Flutter 3.13.8(stable)、Dart 3.1.4
解决方案
1. 替代废弃的dart migrate命令
Dart 3.0+已移除dart migrate,其功能整合到dart fix中,手动执行以下命令完成代码修复:
dart fix --apply
2. 更新get_cli适配新版本Dart
当前使用的get_cli版本可能未适配Dart 3.0+的命令变更,更新到最新版本:
pub global activate get_cli
若更新后仍有问题,可尝试降级到适配旧命令的稳定版本(示例版本,可按需调整):
pub global activate get_cli 1.8.0
3. 跳过get_cli的自动migrate步骤
检查get_cli的命令参数,添加跳过自动执行migrate的选项,避免工具调用废弃命令。
原因说明
Dart 3.0及以上版本中,官方将dart migrate命令的功能合并到dart fix中,旧版本get_cli仍在调用已移除的dart migrate,导致报错。
本地环境检测结果(flutter doctor -v)
- [✓] Flutter(稳定通道,3.13.8,运行于Microsoft Windows [版本10.0.19045.3570],区域设置en-US)
- Flutter版本3.13.8,安装路径:C:\Users\User\AppData\Local\Android\flutter
- 上游仓库:https://github.com/flutter/flutter.git
- Framework版本:6c4930c4ac(3天前,2023-10-18 10:57:55 -0500)
- Engine版本:767d8c75e8
- Dart版本:3.1.4
- DevTools版本:2.25.0
- [✓] Windows版本(已安装Windows 10或更高版本)
- [✗] Android工具链 - 开发Android设备
- 错误:ANDROID_HOME设置为
C:\Users\User\AppData\Local\Android\Sdk;C:\Users\User\AppData\Local\Android\flutter\bin;,但该路径下未找到Android SDK
- 错误:ANDROID_HOME设置为
- [✓] Chrome - 开发Web应用
- Chrome路径:C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
- [✗] Visual Studio - 开发Windows应用
- 错误:未安装Visual Studio,开发Windows应用需安装该工具,并勾选“使用C++的桌面开发”工作负载及所有默认组件
- [✓] Android Studio(版本4.2)
- Android Studio路径:C:\Program Files\Android\Android Studio
- 可安装Flutter插件
- 可安装Dart插件
- Java版本:OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)
- [✓] VS Code(64位版本,1.83.1)
- VS Code路径:C:\Program Files\Microsoft VS Code
- Flutter扩展版本:3.74.0
- [✓] 已连接设备(3台可用)
- Windows(桌面):windows • windows-x64 • Microsoft Windows [版本10.0.19045.3570]
- Chrome(Web):chrome • web-javascript • Google Chrome 118.0.5993.89
- Edge(Web):edge • web-javascript • Microsoft Edge 118.0.2088.57
- [✓] 网络资源
- 所有预期网络资源均可用
内容的提问来源于stack exchange,提问作者Kira Nofans
相关产品推荐
相关产品推荐

