从文件系统中删除Vagrant框后,如何从全局状态中删除该框?


87

//,我删除了一个包含正在运行的Vagrant框的文件夹,然后意识到它仍在运行。

现在如何从Vagrant(全局状态)中删除它?

我已经删除了Virtualbox VM。


1
Vagrant VM是否正在运行无关紧要(我最近发现了这一点)。即使VM已停止,如果您手动删除其文件而不是运行它vagrant destroyvagrant global-status仍将报告“主机状态未知”问题。
约翰·贝贝里希

Answers:


193

要丢弃其中列出的旧框vagrant global-status(例如,您.vagrant从文件系统中删除了包含目录的文件夹),只需运行:

vagrant global-status --prune

您可能需要直接从提供程序(VMWare,Virtualbox,..)控制界面中删除虚拟机。


相反,我为自己创建了问题:我从提供程序中删除了VM的文件,还更改了Vagrantfile,以使VM不再是项目的Vagrant配置的一部分。该--prune选项也适用于我的情况。谢谢!
约翰·贝贝里希

它仅在现有的运行Vagrant设置的VM中对我有用。
Nikos Alexandris

1
没为我工作。我不得不手动编辑~/.vagrant.d/data/machine-index并删除有问题的条目。
大林

这适用于我的情况。如果您更改了计算机名称,并且旧的(不再起作用的计算机)名称仍然由无业游民的global-status列出。
Dayron Gallardo


0

就我而言:厨房和.kitchen /文件夹可能包含由创建的隐藏的无用文件

$ kitchen create

我需要走得更远,要么是销毁厨房,要么是无业游民的破坏,甚至是无业游民的破坏的machineID(来自无业游民的全局状态-它提供了整个用户空间中无业游民实例的列表。)

就我而言,我必须删除用户.vagrant隐藏目录中包含的无业游民的计算机锁定文件。

$ rm -r ~/.vagrant/data

就我而言,我需要对以上命令进行sudo。

然后我终于要打扫干净

$ 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从virtualbox provider文件夹中删除了该文件夹和该框,但该框仍在中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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.