Як видалити поле Vagrant із глобального стану після видалення цього поля з файлової системи?


87

//, я видалив папку, що містить запущений ящик Vagrant, перш ніж зрозуміти, що він все ще працює.

Як я можу зараз видалити його з Vagrant (глобальний статус)?

Я вже видалив віртуальну машину Virtualbox.


1
Працює VM Vagrant чи ні, не має значення (нещодавно я це з’ясував). Навіть якщо віртуальну машину зупинено, якщо вручну видалити її файли, а не запускати vagrant destroy, vagrant global-statusвона все одно повідомить про проблему "Невідомий стан хосту".
Джон Берберіх,

Відповіді:


194

Щоб відкинути старі поля, перелічені в vagrant global-status(наприклад, ви видалили папку, що містить .vagrantкаталог, з файлової системи), вам просто потрібно запустити:

vagrant global-status --prune

Можливо, вам доведеться видалити віртуальну машину безпосередньо з інтерфейсу керування постачальником (VMWare, Virtualbox, ..).


Я створив для себе проблему навпаки: я видалив файли віртуальної машини від постачальника, а також змінив файл Vagrant, так що віртуальна машина більше не була частиною конфігурації проекту Vagrant. --pruneВаріант працював в моєму сценарії , а також. Дякую!
Джон Берберіх

У мене це працювало лише зсередини існуючої запущеної VG, забезпеченої Vagrant.
Нікос Александріс

1
Не працював у мене. Мені довелося вручну редагувати ~/.vagrant.d/data/machine-indexта видаляти образливий запис.
Далін

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

6

Я вважаю, що новою назвою файлу глобальних даних є ~/.vagrant.d.

Таким чином, ви можете запустити, rm -r ~/.vagrant.dщоб видалити всі дані користувача для нового початку.


0

Для мого випадку: де кухня та папка .kitchen / можуть містити приховані бродяжні файли, створені

$ kitchen create

Мені потрібно піти далі, ніж руйнування кухні, або бродяжництво, або навіть знищення бродяги machineID (від vagrant global-status - що надає список екземплярів бродяг у вашому просторі користувача).

У моєму випадку мені довелося підірвати файли блокування машин-бродяг, що містяться у прихованому каталозі користувачів .vagrant.

$ rm -r ~/.vagrant/data

І в моєму випадку мені потрібно судовий розгляд вищезазначеної команди.

Тоді я нарешті дістався до чистого

$ vagrant global-status

список


0

Спочатку ви використовуєте vagrant global-statusдля переліку всіх бродячих машин та їх статус та ids.

тоді ви можете використовувати:

 vagrant destroy -f the_id_of_the_machine

після цього при vagrant global-statusповторному запуску ви виявите, що ідентифікатор, який ви вказали в vagrant destroy -fкоманді, був видалений зі списку.

і тоді вам може знадобитися перезавантажити машину. Однак ці команди не вплинуть на ваші скриньки.


0

Наведені вище команди не видалили старий ящик у моєму випадку на машині Windows. Я вже видалив .vagrantпапку та поле з папки постачальника послуг віртуальної скриньки, але поле все ще було в vagrant global-status list.

Як зазначається в коментарі vagrant upкоманди:

If you believe this message is in error, please check the process
listing for any "ruby" or "vagrant" processes and kill them. Then
try again.

Тож я вбив ruby.exeзі списку процесів і зробив наступний vagrant global-status --prune.

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