Чекаємо на ще одну команду тремтіння, щоб звільнити блокування запуску


187

Коли я запускаю свою програму трепет, це показує

Чекаємо на ще одну команду тремтіння, щоб звільнити блокування запуску

ці повідомлення і не продовжувати далі.


19
Яка ОС? Спробуйте killall -9 dart. Яку версію Flutter ви використовуєте? Якщо ви використовуєте, flutter pub pub run build_runner watchдивіться github.com/flutter/flutter/isissue/14703#issuecomment-369404176
Günter Zöchbauer

Дякую за ваше повторення, але я не знаю, як моя проблема вирішується автоматично. це дійсно дивно.
Вірен V Варасадія

У моєму випадку я просто перезапустив свій ноутбук. це вирішило питання.
Пані Наймул Хасан

3
Я щойно перезапустив свій IDE, і він працював на мене
wiseminds

У моєму випадку я відкриваю два різного проекту і запускаю дві команди на обох 1) flutter build apk 2) flutter run. він припинив виконання іншого проекту і чекав завершення першого проекту, оскільки перший проект завершив його виконання, другий проект розпочав виконання.
М.Арсланхан

Відповіді:


451

У моєму випадку наступна команда в Терміналі допомогла (як запропонував Гюнтер):

killall -9 dart

У Windows (як запропоновано оновленням):

taskkill /F /IM dart.exe

39
Для користувачів Windows: taskkill / F / IM dart.exe
оновлення

то, як діяти, я новий, щоб розвіватися, я просто клонував флеттерний git і встановив 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, а потім із запуску менеджера, зупиніть усі файли, пов’язані з дартсом (якщо такі є).
Потім перейдіть до
"FLUTTER DIRECTORY"/bin/cache/lockfile
та видаліть цей файл блокування


6

1. Зупиніть усі запущені екземпляри дротиків

Якщо ви використовуєте Android Studio, збережіть свою роботу та закрийте її. І відкрийте свій термінал, щоб убити запущені екземпляри дротиків.

Linux:

killall -9 dart

Windows:

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)

якщо це теж не працює:

3-тип типу killtask / f / im dart.exe

якщо це теж не працює:

4- закрийте студію Android, а потім перезавантажте ПК.


0

Для новачків

Найпростішим рішенням, хоча забирає небагато часу, було б перезавантажити комп’ютер або простий вихід із поточного користувача та знову увійти.


1
Будь ласка, переконайтеся, що вихід із системи та вирішує проблему. (І якщо платформа залежна або
приміряється

1
за допомогою Mac OS Mojave
Mithilesh Parmar

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

0

Більшість попередніх рішень, але це не спрацювало для мене, тому я просто залишив ноутбук, підключений до Інтернету, з відкритим кодом VS, потім я вимкнувся, якщо вимкнено на деякий час, і знову його працював


0
  1. Вимкніть Android Studio.

  2. Відкрити каталог установки / бін / кеш.

  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 a) Убити "автоматично":

Щоб перелічити, шукати та вбивати їх усіх, якими ви можете скористатися

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використанням id :

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

і для Windows відкритий менеджер завдань. Потім на вкладці "Процеси" знайдіть процес дартса та вбийте їх усіх. Сподіваюся, це вам допоможе.


1
kill -9в основному ніколи не повинні використовуватися. Тільки killallтоді, якщо це не вдасться, спробуйте деякі інші сигнали. Число 9 повинно бути вашим самим крайнім засобом, якщо нічого іншого не працює.
трійка

Крім того, це повторює старішу відповідь, яка рекомендує той самий антипатерн.
трійка

-7

Просто введіть це на терміналі андроїд-студії і знову буде працювати!

пурхати бігати

:)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.