在从文件系统中删除一个 Vagrant 框之后,如何从 global-status 中删除该框?

我删除了一个包含正在运行的“流浪者”框的文件夹,然后才意识到它仍在运行。

我现在如何从流浪者(全球状态)删除它?

我已经移除了虚拟机。

34495 次浏览

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.

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

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.

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.

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.