当我运行我的颤振应用程序,它显示

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

此消息并不能继续。


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


删除该文件:

<YOUR FLUTTER FOLDER>/bin/cache/lockfile

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


在我的例子中,Terminal中的以下命令有帮助(正如Günter Zöchbauer的评论所建议的那样):

killall -9 dart

在Windows上,在命令提示符或PowerShell窗口中运行以下命令(由uppupming的注释建议):

taskkill /F /IM dart.exe

(你可以在这里阅读Windows中的taskkill标志)


退出IDE,然后从启动管理器停止所有dart相关文件(如果有的话)。 然后转到 “颤振目录“/ bin /缓存/ lockfile 然后删除这个锁文件


我使用Mac和Visual Studio Code,这是什么工作:

关机后再开机。不要使用重启功能。我重新启动了2次,它没有工作。只有关机有效。

PS:我尝试了以下方法:

删除lockfile; Run killall -9镖; 重启我的电脑。

但他们都没有成功。


我尝试了以前的所有建议,但都没有效果。 最后,当我把我的电脑连接到互联网,等待颤振释放,然后5分钟解决


如果你使用的是Windows,你可以打开任务管理器,在“进程”选项卡下搜索名为“dart”的进程。结束所有这些任务。


Windows系统:

按:Ctrl + Alt +删除

在任务管理器中找到你的编辑器,如VS Studio或Android Studio 在找到“飞镖”和结束该任务 然后关闭编辑器 再次打开编辑器 让编辑器完成所有的事情,之后运行您的查询,将工作


在Android Studio中,这对我来说就是工作

如果你的应用还在手机上运行,就停止它 或断开测试设备。

然后尝试重新安装该包。


有一些行动可以做:

1-在pubspec。Yaml按“包获得”或在终端类型“颤振包获得”并等待几秒钟。

如果这不起作用:

2型颤振清洗,然后做步骤(1)

如果这也不起作用:

3型杀戮任务/f/im飞镖.exe

如果这也不起作用:

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


删除pubspec。锁文件 在pubspec中从终端或编辑器快捷方式(“获取包”AndroidStudio或此标志Visual Studio)运行“flutter pub get”。yaml文件。 等待下载。 如果不工作,重新启动编辑器,然后重复步骤2..


大多数人说killall -9镖,但没有人提到pkill -f镖,这对我来说很有效。

这里解释了两者之间的区别。


重新启动计算机或从当前用户注销,然后重新登录。


关闭Android Studio。 打开颤振安装目录/bin/cache。 删除lockfile。 此时,可以在命令行上执行与flutter相关的命令来完美解决问题。


在VS代码中运行

flutter clean

在终点站。这解决了我的问题。


您可以尝试终止所有颤振进程。

TL;DR -转到第4点)

1)流程清单:

ps aux

2)包含颤振的搜索名称:

ps aux | grep flutter

其中输出可以如下所示:

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

3)获取进程ID

我们需要从第二列的内容(从上面的输出):

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

4 a)“自动”杀死:

列出,搜索和杀死所有你可以使用的人

kill $(ps aux | grep flutter | grep -v grep  | awk '{print $2}')

(你也可以用sudo运行它)

or

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

4 b)手动杀死

您可以使用以下命令逐个杀死进程:

sudo kill -15 <process_ID>

例如,关闭id为13245的进程:

sudo kill -15 13245

如果-15不行,可以尝试-2或-1。

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


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

1)检查有颤振的位置(作为可执行文件)

要检查它,你可以运行:

which flutter

你可以期待这样的输出:

/your_user/your_path/flutter/bin/flutter

2)进入该目录

上面的路径是直接颤振,但我们想去目录,所以“一个早”的路径:

cd /your_user/your_path/flutter/bin

3)检查它是git仓库

应该是,但值得一查。

运行一个git命令。

git status

or

git branch

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

4)删除所有文件

rm -R *

5)“还原”删除只有必要的文件:

git co -- .

6)瞧!

您可以只运行flutter版本,命令应该可以工作(flutter将获取一些必要的数据)。


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

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

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

我也有同样的问题,我尝试了上面所有的解决方案,但没有一个对我有效。然后我在flutter目录下搜索了关键词,找到了如下代码。所以我尝试删除bin/cache/。Upgrade_lock,它终于工作了。


我已经尝试了下面所有的步骤,但没有一个有效。

删除lockfile; Run killall -9镖; 重启我的电脑。

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

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

对我来说,问题的根本原因是我的Mac设备上出现了一个它没有预料到的flock二进制版本。把它从小路上移开就成功了;可能是BSD和GNU的语法问题。


我试了前面所有的建议,但是没有一个能解决这个问题。 我做了以下工作(Windows 11):

运行命令:taskkill /F /IM dart.exe在VS code的TERMINAL。 关闭VS代码。 删除<flutter_SDK_bath>\bin\cache中的lockfile。 重新启动计算机。 运行命令:在Power Shell中扑动医生。(特别是更新了flutter SDk之后)。 在应用程序路径下执行命令flutter pub get。

这对我来说很合适。