等待另一个 flutter 命令释放启动锁

Waiting for another flutter command to release the startup lock

当我 运行 我的 flutter 应用程序显示

Waiting for another flutter command to release the startup lock

此消息,不再继续。

当您在编辑器中打开 flutter 项目时,也会发生这种情况。关闭编辑器并重新运行 命令

删除此文件:

<YOUR FLUTTER FOLDER>/bin/cache/lockfile

这会释放占用的锁并使您能够运行其他命令。

就我而言,在终端中执行以下命令很有帮助(如 Günter 所建议):

killall -9 dart

在 Windows(如 upupming 所建议):

taskkill /F /IM dart.exe

退出您的 IDE,然后从启动管理器停止所有与 dart 相关的文件(如果有的话)。
然后前往
"FLUTTER DIRECTORY"/bin/cache/lockfile
并删除此锁定文件

我使用 Mac 和 Visual Studio 代码,这是有效的:

关闭 您的电脑,然后重新打开。不要使用重启功能。我重新启动了2次,但没有用。只有关机有效。

PS:我尝试了以下方法:

  1. 删除锁定文件;
  2. 运行 killall -9 dart;
  3. 重新启动我的电脑。

但是他们都没有用。

我尝试了所有以前的建议,但没有任何效果。 最后,当我将我的电脑连接到互联网并等待 flutter 释放时,5 分钟就解决了

如果您正在使用 Windows,您可以打开任务管理器并在 'Processes' 选项卡下搜索名为 'dart' 的进程。结束所有这些任务。

在Windows中:

按:Ctrl + Alt + 删除

  • 在任务管理器中找到您的编辑器,例如 VS Studio 或 Android Studio
  • 在其中找到 "dart" 并结束该任务
  • 然后关闭你的编辑器
  • 再次打开编辑器
  • 让编辑器完成所有事情,然后运行您的查询将起作用

我也遇到了同样的问题,我采用了最好最简单的方法

环境:Windows

IDE : Android 工作室

工具>flutter(最后一个选项)> select flutter clean

flutter clean 完成后,一切就绪,可以开始了。

只需在 android 工作室终端上键入此内容即可再次运行!

颤动运行

:)

在 Android Studio 中,它对我有用

如果您的应用仍在 phone 上运行,请停止 或断开您的测试设备。

然后尝试重新安装包。

试试这个 对于 Window

TASKKILL //F //IM dart.exe

成功了!

有一些动作要做:

1- 在 pubspec.yaml 中按 "packages get" 或在终端中输入“flutter packages get”并等待几秒钟。

如果这不起作用:

2 型颤动清理然后执行步骤 (1)

如果这也不起作用:

3-type killtask /f /im dart.exe

如果这也不起作用:

4- 关闭 android 工作室,然后重新启动您的电脑。

首先重新启动您的IDE,然后运行从终端

在项目文件夹中执行以下命令
killall -9 dart

它对我有用。希望对遇到同样问题的小伙伴有所帮助。

1。停止所有 运行 个飞镖实例

如果您使用的是 Android Studio,请保存并关闭您的工作。然后打开你的终端杀死 运行 个飞镖实例。

Those commands will kill all dart instances including the ones created by editors for code analysis and debug instances. So be careful before executing

Linux:

killall -9 dart

Windows:

taskkill /F /IM dart.exe

2。删除 lockfile

在flutter安装目录下可以找到lockfile

<flutter folder>/bin/cache/lockfile
  1. 删除pubspec.lock文件
  2. 运行 来自终端 编辑器快捷方式的“flutter pub get”(get packages" AndroidStudio 或 this logo Visual Studio) 在 pubspec.yaml 文件中。
  3. 等待下载。
  4. 如果它不起作用,请重新启动您的编辑器,然后重复步骤 2。

大多数人都说 killall -9 dart 但没有人提到 pkill -f dart 这对我有用。

解释两者的区别here

当任何其他 flutter 命令在后台 运行ning 时,就会发生这种情况。要解决此问题,您可以 运行 for mac

killall -9 dart

并 windows 打开任务管理器。然后在进程选项卡中,搜索飞镖进程并杀死所有进程。 希望对你有帮助。

对于新手

最简单的解决方案是重新启动您的计算机或简单地从当前用户注销并重新登录,但会稍微耗费一些时间。

以前的大部分解决方案都做了,但它对我不起作用,所以我只是让笔记本电脑连接到互联网并打开 VS 代码 然后我关闭了一会儿,然后重新打开它,它工作了

  1. 关闭 Android Studio。

  2. 打开flutter安装目录/bin/cache.

  3. 删除锁定文件。

  4. 此时可以在命令行执行flutter相关命令完美解决问题

这似乎是网络问题。我关闭了我的 wi-fi 并通过我的 phone 将我的笔记本电脑连接到 4G 连接,它在 5,9s

内工作

我刚刚让终端打开了一分钟。 然后它又开始正常工作了。

在 VS 代码中 运行

flutter clean

在终端中。这解决了我的问题。

您可以尝试杀死所有 flutter 个进程。

TL;DR - 转到点 4)

1) 进程列表:

ps aux

2) 搜索名称包含 flutter:

ps aux | grep flutter

输出可以像那里:

Whosebug     16697   1.5  0.0  4288316    704   ??  S    10:02PM   0:15.80 bash /flutter_path/flutter/bin/flutter --no-color build apk
Whosebug      2800   1.5  0.0  4288316    704   ??  S     9:59PM   0:18.49 bash /flutter_path/flutter/bin/flutter --no-color pub get
Whosebug      1215   1.5  0.0  4280124    700   ??  S     9:58PM   0:18.89 bash /flutter_path/flutter/bin/flutter --no-color config --machine
Whosebug      8449   1.5  0.0  4296508    716   ??  S    10:00PM   0:17.20 bash /flutter_path/flutter/bin/flutter --no-color pub get
Whosebug      1326   1.4  0.0  4288316    708   ??  S     9:58PM   0:18.97 bash /flutter_path/flutter/bin/flutter daemon
Whosebug     16687   0.0  0.0  4279100    820   ??  S    10:02PM   0:00.01 bash /flutter_path/flutter/bin/flutter --no-color build apk
Whosebug      8431   0.0  0.0  4288316    804   ??  S    10:00PM   0:00.02 bash /flutter_path/flutter/bin/flutter --no-color pub get
Whosebug      2784   0.0  0.0  4288316    704   ??  S     9:59PM   0:00.01 bash /flutter_path/flutter/bin/flutter --no-color pub get
Whosebug      1305   0.0  0.0  4280124    712   ??  S     9:58PM   0:00.01 bash /flutter_path/flutter/bin/flutter daemon
Whosebug      1205   0.0  0.0  4279100    788   ??  S     9:58PM   0:00.01 bash /flutter_path/flutter/bin/flutter --no-color config --machine
Whosebug     11416   0.0  0.0  4268176    536 s000  R+   10:18PM   0:00.00 grep --color flutter

3) 获取进程 ID

我们需要 second 列的内容(来自上面的输出):

ps aux | grep flutter | awk '{print }'

4 a) “自动”杀死:

您可以使用

列出、搜索和杀死所有这些
kill $(ps aux | grep flutter | grep -v grep  | awk '{print }')

(你可以 运行 它也可以 sudo

ps aux | grep flutter | grep -v grep | awk '{print }' | xargs kill -15

4 b) 手动杀死

您可以使用以下方式一个接一个地终止进程:

sudo kill -15 <process_ID>

例如要终止 ID 为 13245 的进程,请使用:

sudo kill -15 13245

如果-15不行,你可以试试-2-1

最终选项 -9 不应使用,因为它会阻止进程执行任何清理工作。

您可以删除 flutter 并“重新安装”,所以最快的方法是:

1) 检查你在哪里有 flutter(作为可执行文件)

要检查它,你可以运行:

which flutter

你可以期待这样的输出:

/your_user/your_path/flutter/bin/flutter

2) 进入这个目录

上面的路径是直接去flutter的,但是我们想去路径中这么“早一点”的目录:

cd /your_user/your_path/flutter/bin

3) 检查是不是 git 存储库

应该是,但值得检查一下。

运行 git 命令之一,例如

git status

git branch

当它是 git 存储库时,您将收到一些关于它的信息或正确的分支列表。

4) 删除所有文件

rm -R *

5) “还原”删除以仅包含必要的文件:

git co -- .

6) 瞧!

您可以 运行 只需 flutter version 并且命令应该有效(并且 Flutter 将获取一些必要的数据)。

所有这些答案都对我没有帮助。

唯一的解决方案是删除整个 flutter 的东西(并从 git 重新安装 flutter):

<flutter directory>
<user>/.flutter_tool_state
<user>/.dart
<user>/.pub-cache
<user>/.dartServer
<user>/.flutter

我遇到了同样的问题,我尝试了上述所有解决方案,但其中 none 对我有用。然后在flutter目录下搜索关键字,找到了如下代码。所以我尝试删除bin/cache/.upgrade_lock,终于成功了。

我已经尝试了以下所有步骤,但 none 成功了。

  1. 删除锁定文件;
  2. 运行 killall -9 镖;
  3. 重新启动我的电脑。

下面是对我有用的最后一个命令

rm -rf <flutter_dir>bin/cache/.upgrade_lock

对我来说,我的 Mac 设备上的问题根本原因是它没有预料到的 flock 二进制文件版本。将它从路径中移除就可以了;可能是 BSD vs GNU 语法问题。

谢谢,亲爱的所有正确答案,我在 Ubuntu

上使用 Flutter
killall -9 dart

这个命令也帮我解决了这个问题

在 Mac 删除隐藏文件:<FLUTTER_HOME>/bin/cache/.upgrade_lock

这对我有用:

  1. 重启你的IDE

  2. 使用以下命令

    flutter clean

就这么做!!!

不要在 Flutter SDK 目录中创建项目。
在另一个目录中创建您的项目。
然后它会正常工作

如果您能解决这个问题,请给这个答案打分。 感谢您的支持