Видалення списку vms у бродяжному кеші


111

Я не шукаю цієї відповіді, тому що моє питання інше.

Коли я друкую, vagrant global-statusя отримую список vms, але деякі з цих каталогів та VM видалено разом із Vagrantfiles.

Але коли я друкую vagrant destroy [machineid], я отримую таку помилку, яку я хочу вирішити. Порадьте, будь ласка.

The working directory for Vagrant doesn't exist! This is the
specified working directory:

/Users/steven/projects/php/vagrant-laravel

Відповіді:


247

Для видалення недійсних записів із глобального індексу слід використовувати таку команду:

vagrant global-status --prune

Добре, що це прийнята і схвальна відповідь, але це "підрізає" список глобального статусу. Це означає, що VM більше не відображається у списку. Сам же VM залишається недоторканим. Це означає, що потрібно ще скасувати реєстрацію та видалити її вручну. Дуже просто слід сказати, що бродяг виконує свою роботу належним чином при $ vagrant destroy -f <id>
дачі

Вихід vagrant global-status --pruneправильний, щоб не знати про видалені каталоги Vagrant, оскільки знання Вагранта про VM, яким він керував у цьому каталозі, було видалено, коли були його файли, що управляють VM. Зараз проблема гіпервізора.
bschlueter

Дякую!! Я довго шукав це
Жан-Марк Амон

17

У мене було і це питання. Мені вдалося виправити це, змінивши вміст ~/.vagrant.d/data/machine-index/index. Він у форматі JSON, тому я просто видалив дані, пов’язані з екземплярами, які вже не існували.

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


Я вважаю це корисним для простого очищення вікон глобального статусу, які зазвичай вимикаються, коли я перезапускаю хост (мій mac). Це змушує мене замислитися над тим, що робить глобальний статус і чи вплине це на повторне оновлення коробки.
каплан

14

--pruneне працювало для мене. Я зняв ~/.vagrant, ~/.vagrant.dі .vagrant. І вручну знімали затяжні віЗМ.

Я мігрував назад gemsі boxesз оригіналу ~/.vagrant.d. Можливо, можна спробувати лише видалити машину, .vagrantале я цього не перевіряв.


2
У мене виникла ця проблема, коли було видалено каталог, в якому дивився бродячий образ. --prune не вдалося, але rm -rf ~ / .vagrant * працював. Запуск бродячого глобального статусу після відтворення відповідних каталогів. (Це видаляє всі завантажені вікна, щоб вони були завантажені наступним бродяжником вгору)
Tommy Strand


0

я використав

vagrant global-status --prune
vagrant box remove -f [name]

Також я зняв

~/.vagrant, ~/.vagrant.d and .vagrant. 

І вручну видаляються затягнуті відеомашини, якщо такі є.

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