Ожидание другой команды флаттера, чтобы снять блокировку запуска


188

Когда я запускаю свое приложение, оно показывает

Ожидание другой команды флаттера, чтобы снять блокировку запуска

это сообщения и дальше не переходить.


19
Какая ОС? Попробуй killall -9 dart. Какую версию Flutter вы используете? Если вы используете, flutter pub pub run build_runner watchсм. Github.com/flutter/flutter/issues/14703#issuecomment-369404176
Гюнтер Цохбауэр

Спасибо за Ваш повтор, но я не знаю, как моя проблема решается автоматически. это действительно странно.
Viren V Varasadiya

В моем случае я просто перезагрузил свой ноутбук. это решило проблему.
Г-н Наджмул Хасан

3
я просто перезапустил свою IDE, и это сработало для меня
мудрецы

В моем случае я открываю два проекта diff и запускаю две команды на 1) flutter build apk 2) flutter run. он прекратил выполнение другого проекта и дождался завершения первого проекта, так как первый проект завершил выполнение, второй проект начал выполнение.
М.АрсланХан

Ответы:


453

В моем случае помогла следующая команда в терминале (как предложил Гюнтер):

killall -9 dart

В Windows (согласно предложению upupming):

taskkill /F /IM dart.exe

39
Для пользователей Windows: taskkill / F / IM dart.exe
upupming

затем, как поступить, я новичок во флаттере, я просто клонировал мерзавца мерзавца и установил env var?
Аашик Ахмед

50

Удалить этот файл:

<YOUR FLUTTER FOLDER>/bin/cache/lockfile

Это освобождает занятую блокировку и позволяет запускать другие команды.


1
Но файл блокировки заблокирован. Он используется, и я не могу удалить его. Хорошо, это работает, но вам нужно закрыть Android Studio и подождать около минуты ... тогда вы можете удалить этот файл.
Yster

15

В Windows:

Нажмите: Ctrl+ Alt+Delete

  • В диспетчере задач найдите ваш редактор, такой как VS Studio или Android Studio
  • В этом Найти "дротик" и завершить эту задачу
  • Затем закройте редактор
  • Снова откройте редактор
  • дайте редактору завершить все, после этого запустите ваш запрос, который будет работать

Для меня нет задачи дартс.
Yster

10

Я использую Mac с кодом Visual Studio, и вот что сработало:

Выключите компьютер и включите его снова. Не используйте функцию перезапуска. Я перезапустил 2 раза, и это не сработало. Работало только отключение.

PS: я опробовал следующее:

  1. Удалить файл блокировки;
  2. Бегать killall -9 dart;
  3. Перезагрузите мой компьютер.

Но они все не работали.


7

Выйдите из вашей IDE, затем из менеджера запуска остановите все связанные с dart файлы (если они есть).
Затем перейдите
"FLUTTER DIRECTORY"/bin/cache/lockfile
и удалите этот файл блокировки


6

1. Остановите все запущенные экземпляры дротиков

Если вы используете Android Studio, сохраните свою работу и закройте ее. И откройте свой терминал, чтобы убить запущенные экземпляры дротиков.

Linux:

killall -9 dart

Окна:

taskkill /F /IM dart.exe

2. Удалить lockfile

Вы можете найти lockfileвнутри директории установки флаттера.

<flutter folder>/bin/cache/lockfile


3

Я попробовал все предыдущие предложения, но без пользы. Наконец, когда я подключаю свой компьютер к интернету и жду, когда выпадет флаттер, то 5 минут решаются


2

Это также происходит, когда вы открыли проект флаттера в редакторе. Закройте редактор и повторите команду


2

У меня та же проблема, я перепробовал все вышеперечисленные решения, но ни одно из них не помогло мне. Затем я искал ключевые слова в каталоге флаттера и нашел следующий код. Поэтому я попытался удалить bin/cache/.upgrade_lock, и это сработало, наконец.

введите описание изображения здесь


1

Если вы используете Windows, вы можете открыть диспетчер задач и на вкладке «Процессы» найти процессы с именем «dart». Завершите все эти задачи.


1
  1. Удалить файл pubspec.lock
  2. Запустите « flutter pub get » из терминала или ярлыка редактора (« получить пакеты » AndroidStudio или этот логотип Visual Studio ) в файле pubspec.yaml.
  3. Ждите загрузки.
  4. Если это не работает, перезапустите ваш редактор, затем повторите шаг 2 ..



0

Я также столкнулся с той же проблемой, я следовал лучшим и самым простым способом

Окружение: Windows

IDE: Android Studio

Инструменты> флаттер (последний вариант)> выбрать очистку флаттера

после того, как флаттер чист, закончен, у тебя все готово и готово к работе


0

В Android Studio это работа для меня

Остановите приложение, если оно все еще работает на телефоне, или отключите тестирующее устройство.

Затем попробуйте установить пакет снова.


0

Есть некоторые действия:

1- в pubspec.yaml нажмите «пакеты получить» или в терминале типа «получить пакеты флаттера» и подождите несколько секунд.

если это не работает:

Очистить флаттер 2 типа, затем выполнить шаг (1)

если это тоже не сработает:

Killtask 3-типа / f / im dart.exe

если это тоже не сработает:

4 - закройте андроид студию и перезагрузите компьютер.


0

Для новичков

Самым простым решением, хотя и немного трудоемким, будет перезагрузка компьютера или простой выход из системы текущего пользователя и повторный вход в систему.


1
Пожалуйста, убедите меня выйти из системы и решить проблему. (И, если от платформы зависит или попробовал только на одной, упомяните платформу.)
Greybeard

1
использование Mac OS Mojave
Митилеш Пармар

2
Я столкнулся с похожими проблемами, и вышеуказанный метод решил мою проблему
Митилеш Пармар

0

Использовал большинство предыдущих решений, но у меня это не сработало, поэтому я просто оставил ноутбук подключенным к Интернету с открытым VS-кодом, затем выключил его на некоторое время и снова включил, и он заработал


0
  1. Выключите Android Studio.

  2. Откройте каталог установки флаттера / bin / cache.

  3. Удалить файл блокировки.

  4. На этом этапе вы можете выполнить связанную с флаттером команду в командной строке, чтобы полностью решить проблему.


0

Я просто оставил терминал открытым на минуту. затем он снова начал работать нормально.


0

Вы можете попробовать все flutterпроцессы.

TL; DR - перейти к точке 4)

1) Список процессов:

ps aux

2) Поиск имени, содержащего flutter:

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) Получить идентификатор процесса

Нам нужен контент из второго столбца (сверху вывод):

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

4 а) Убить «автоматически»:

Чтобы просмотреть, найти и убить их всех, вы можете использовать

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

(вы можете запустить его также с sudo)

или

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

4 б) Убить вручную

Вы можете убить процессы по одному, используя:

sudo kill -15 <process_ID>

например, чтобы убить процесс с 12345использованием идентификатора :

sudo kill -15 13245

Если -15не получится, можете попробовать -2или -1.

Последний вариант, -9который не следует использовать, поскольку он не позволяет процессу выполнять какую-либо работу по очистке.


0

Вы можете удалить флаттер и «установить заново», поэтому самым быстрым способом является:

1) Проверьте, где у вас есть flutter(как исполняемый файл)

Чтобы проверить это, вы можете запустить:

which flutter

И вы можете ожидать такой вывод:

/your_user/your_path/flutter/bin/flutter

2) Перейти в этот каталог

Вышеуказанный путь ведет к флаттеру, но мы бы хотели перейти к каталогу, чтобы он был «одним ранее» в пути:

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 будет получать некоторые необходимые данные).


0

Ничто из ВСЕХ ответов не помогло мне.

Единственным решением было удалить все содержимое флаттера (и переустановить флаттер из git):

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

-1

Сначала перезагрузите IDE, а затем выполните следующую команду в папке проекта из терминала.

killall -9 dart

Это сработало для меня. Надеюсь, это поможет некоторым ребятам, столкнувшимся с той же проблемой.


1
Использование не -9позволяет процессу выполнять очистку. Вы должны в основном использовать только -9когда вы уже пробовали -2, -15и -1ни один из них не работал.
тройной

-1

Это похоже на проблему с сетью. Я выключил Wi-Fi и подключил свой ноутбук к соединению 4G через телефон, и он работает за 5,9 с


-2

Это происходит, когда любая другая команда флаттера выполняется в фоновом режиме. Чтобы решить эту проблему, вы можете запустить для Mac

killall -9 dart

и для окон откройте диспетчер задач. Затем во вкладке процессов найдите процесс дротика и убейте их всех. Надеюсь, это поможет вам.


1
kill -9в принципе никогда не должен использоваться. Просто killall, если это не сработает, попробуйте другие сигналы. Номер 9 должен быть вашим последним средством, если больше ничего не работает.
трипл

Кроме того, это повторяет старый ответ, который рекомендует тот же антипаттерн.
tripleee

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.