我在意识到一个正在运行的 Vagrant 虚拟机时误删了包含它的文件夹。现在该如何从 Vagrant (global-status) 中删除它呢?虚拟机已经被我从 Virtualbox 中卸载了。
vagrant global-status
列出的旧虚拟机 (例如,您已从文件系统中删除包含 .vagrant
目录的文件夹),您只需运行以下命令:vagrant global-status --prune
--prune
选项也适用于我的情况。谢谢! - John Berberich~/.vagrant.d/data/machine-index
并删除有问题的条目。 - Dalin~/.vagrant.d
。rm -r ~/.vagrant.d
来删除所有用户数据以重新开始。在 Windows 机器上,以上命令未能移除我的旧盒子。我已经从 virtualbox 提供者文件夹中删除了 .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
操作。
$ kitchen create
我需要更进一步,超越厨房销毁或虚拟机销毁,甚至是从vagrant global-status返回的vagrant destroy machineID(该命令会列出您用户空间中的vagrant实例列表)。
在我的情况下,我必须清除包含在用户的.vagrant隐藏目录中的vagrant机器锁定文件。
$ rm -r ~/.vagrant/data
在我的情况下,我需要使用sudo执行上述命令。
然后我终于得到了一个干净的结果。
$ vagrant global-status
列表
首先使用 vagrant global-status
列出所有 Vagrant 虚拟机及其状态和 ids
。
然后可以使用:
vagrant destroy -f the_id_of_the_machine
之后,如果您再次运行vagrant global-status
命令,您会发现您在vagrant destroy -f
命令中指定的ID已从列表中删除。
然后,您可能需要重新启动计算机。但是这些命令不会影响您的虚拟机。