How do I remove a Vagrant box from global-status, after deleting that box from the filesystem?
VagrantVirtualboxVagrant Problem Overview
I deleted a folder containing a running Vagrant box before realising it was still running.
How can I delete it from Vagrant (global-status) now?
I already removed the Virtualbox VM.
Vagrant Solutions
Solution 1 - Vagrant
To discard old boxes listed in vagrant global-status
(eg. you deleted the folder containing the .vagrant
dir from the filesystem) you just need to run:
vagrant global-status --prune
You might need to remove the Virtual Machine directly from your provider (VMWare, Virtualbox, ..) control interface.
Solution 2 - Vagrant
I believe that the new filename of the global data is ~/.vagrant.d
.
So you can run rm -r ~/.vagrant.d
to delete all user data for a fresh start.
Solution 3 - Vagrant
For my case: Where kitchen and .kitchen/ folder may contain hidden vagrant files create by
$ kitchen create
I need to go further than either kitchen destroy or vagrant destroy or even vagrant destroy machineID ( from vagrant global-status - which gives a list of vagrant instances across your user space. )
In my case, I had to blow away the vagrant machine lock files contained in the users .vagrant hidden directory.
$ rm -r ~/.vagrant/data
And in my case I need to sudo the above command.
Then I finally got to a clean
$ vagrant global-status
list
Solution 4 - Vagrant
First you use vagrant global-status
to list all the vagrant machines and their status and ids
.
then you can use:
vagrant destroy -f the_id_of_the_machine
after that if you run vagrant global-status
again you will find that the id you have specified in the vagrant destroy -f
command has been removed from the list.
and then you might need to restart your machine However these commands will not affect your boxes.
Solution 5 - Vagrant
The above commands didn't remove the old box in my case on a Windows machine. I had already removed the .vagrant
folder and the box from the virtualbox provider folder but the box was still in the vagrant global-status list
.
As mentioned in the comment given by a vagrant up
command:
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.
So I killed ruby.exe
from the process list and did a subsequent vagrant global-status --prune
.