当我运行我的颤振应用程序,它显示
等待另一个颤振命令释放启动锁
此消息并不能继续。
在编辑器中打开颤振项目时也会发生这种情况。关闭编辑器并重新运行该命令
删除该文件:
<YOUR FLUTTER FOLDER>/bin/cache/lockfile
这将释放被占用的锁,并使您能够运行其他命令。
在我的例子中,Terminal中的以下命令有帮助(根据Günter Zöchbauer的评论的建议):
killall -9 dart
在Windows上,在命令提示符或PowerShell窗口中运行以下命令(根据upupming的评论的建议):
taskkill /F /IM dart.exe
(你可以在Windows 在这里中阅读taskkill标志)
"FLUTTER DIRECTORY"/bin/cache/lockfile
我使用Mac和Visual Studio Code,这是什么工作:
关闭你的电脑,并重新打开它。不要使用重启功能。我重新启动了2次,它没有工作。只有关机有效。
PS:我尝试了以下方法:
但他们都没有成功。
如果你使用的是Windows,你可以打开任务管理器,在“进程”选项卡下搜索名为“dart”的进程。结束所有这些任务。
Windows系统:
按:Ctrl + Alt + 删除
在Android Studio中,这对我来说就是工作
如果你的应用还在手机上运行,停止它 或断开测试设备。
然后尝试重新安装该包。
有一些行动可以做:
1-在pubspec。Yaml按“包获得”或在终端类型“颤振包获得”并等待几秒钟。
如果这不起作用:
2型颤振清洗,然后做步骤(1)
如果这也不起作用:
3 .键入killtask /f /im dart.exe
4-关闭android工作室,然后重新启动你的电脑。
大多数人说killall -9 dart,但没有人提到对我有用的pkill -f dart。
pkill -f dart
两者之间的区别是解释在这里。
重新启动计算机或从当前用户注销,然后重新登录。
关闭Android Studio。
打开颤振安装目录/bin/cache。
删除lockfile。
此时,可以在命令行上执行与flutter相关的命令来完美解决问题。
在VS代码中运行
flutter clean
在终点站。这解决了我的问题。
你可以尝试杀死所有flutter进程。
flutter
转到点4)
4)
ps aux
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
我们需要第二个列的内容(从上面的输出):
ps aux | grep flutter | awk '{print $2}'
列出,搜索和杀死所有你可以使用的人
kill $(ps aux | grep flutter | grep -v grep | awk '{print $2}')
(你也可以用sudo运行它)
sudo
或
ps aux | grep flutter | grep -v grep | awk '{print $2}' | xargs kill -15
您可以使用以下命令逐个杀死进程:
sudo kill -15 <process_ID>
例如,关闭id为13245的进程:
13245
sudo kill -15 13245
如果-15不能工作,你可以尝试-2或-1。
-15
-2
-1
最后一个选项是-9,不应该使用它,因为它阻止进程做任何清理工作。
-9
您可以删除颤振并“重新安装”,所以最快的方法是:
要检查它,你可以运行:
which flutter
你可以期待这样的输出:
/your_user/your_path/flutter/bin/flutter
以上路径是直接到颤振,但我们想去目录,所以“;在路径:
cd /your_user/your_path/flutter/bin
git
应该是这样,但它值得检查。
运行一个git命令。
git status
git branch
当它是git存储库时,你会收到一些关于它的信息或正确的分支列表。
rm -R *
git co -- .
你可以只运行flutter version和命令应该工作(颤振将获取一些必要的数据)。
flutter version
所有这些答案都对我没有帮助。
唯一的解决方案是删除整个颤振的东西(并重新安装颤振从git):
<flutter directory> <user>/.flutter_tool_state <user>/.dart <user>/.pub-cache <user>/.dartServer <user>/.flutter
我也有同样的问题,我尝试了上面所有的解决方案,但没有一个对我有效。然后我在flutter目录下搜索了关键词,找到了如下代码。所以我尝试删除bin/cache/.upgrade_lock,它终于工作了。
bin/cache/.upgrade_lock
我已经尝试了下面所有的步骤,但没有一个有效。
killall -9 dart;
下面是最后一个对我有用的命令
rm -rf <flutter_dir>bin/cache/.upgrade_lock
对我来说,问题的根本原因是我的Mac设备上出现了一个它没有预料到的flock二进制版本。把它从小路上移开就成功了;可能是BSD和GNU的语法问题。