解决 Flutter 启动锁:Waiting for another flutter command to release the startup lock
在 Windows 上执行 flutter devices、flutter run 或 flutter doctor 时,如果控制台一直卡在下面这行:
Waiting for another flutter command to release the startup lock...
通常说明 Flutter 工具链留下了一个启动锁,新的命令在等待它释放。
问题表现
- 任意
flutter命令长时间无响应; - 即使按
Ctrl + C退出后,下一次执行仍然卡住; - 多见于上一次 Flutter 命令异常中断(IDE 关闭、终端强杀、系统休眠后恢复等)。
根因说明
Flutter 在启动命令时会在 SDK 缓存目录创建锁文件,防止多个 Flutter 进程并发改写缓存。
当进程异常退出时,锁文件可能残留,后续命令就会持续等待。
本次问题对应的目录是:
E:\Android\flutter\bin\cache
需要删除的文件是:
lockfile
修复步骤(Windows)
1) 关闭正在运行的 Flutter 命令
先在终端里 Ctrl + C 结束当前卡住的命令,必要时关闭 IDE 终端窗口。
2) 删除锁文件
进入目录并删除:
cd E:\Android\flutter\bin\cache
del lockfile
或者直接一行命令删除:
del E:\Android\flutter\bin\cache\lockfile
也可以用资源管理器直接删除 E:\Android\flutter\bin\cache\lockfile。
3) 重新验证
flutter doctor -v
flutter devices
如果命令正常返回,说明锁已解除。
建议与补充
- 尽量避免同时开多个终端并发执行 Flutter 命令;
- 关闭电脑前,确认 Flutter 构建任务已完成;
- 如果问题反复出现,可先检查是否有僵尸
dart.exe进程,再删除lockfile。
一句话结论
遇到 Waiting for another flutter command to release the startup lock...,到 E:\Android\flutter\bin\cache 删除 lockfile,通常就能恢复 Flutter 命令执行。