无法使vagrant destroy工作

6
我刚刚删除了一个不再需要的大型目录。不幸的是,其中有许多vagrant实例,我没有事先结束和销毁它们,现在我很难让它们消失。
如果我运行“vagrant global-status”,我会收到四个结果,所有结果都有名称“default”,三个使用hyperv,一个使用virtualbox(不确定为什么我有一个virtualbox实例),除了virtualbox以外的所有实例都在不存在的目录中运行。
我刚刚打开了hyper-v管理器,这些实例实际上并不存在。
如果我尝试使用全局状态输出中的任何id执行“vagrant destroy”,我会得到以下错误:
There are errors in the configuration of this machine. Please fix the following errors and try again: 

vm: 
* A box must be specified

如果我查看“vagrant box list”命令,它会返回一个名为“box”的单独项目,但是当我尝试删除它时,我似乎无法对其进行任何操作,因为我会得到与上面相同的错误。
我该怎么做才能1)摆脱最后无法删除的目录,因为vagrant似乎正在使用这些文件,2)清除vagrant global-status命令中不再需要的条目?
谢谢!
3个回答

6

要清理Vagrant全局状态,请使用--prune标志。

我不确定为什么您在Hyper-V管理器中没有看到Hyper-V虚拟机。


1
在使用虚拟机GUI界面删除VM后,这对我起作用了。不确定这是否是巧合,但想提一下。 - Welcher
@Welcher 我通过VirtualBox UI删除了VM,并运行了 vagrant global-status --prune,这对我很有效。谢谢! - Stetzon

0

我成功地使用vagrant destroy <id>从global-status中删除了vagrant VM条目,此前我手动从“Oracle VM VirtualBox”中删除了VM。VM是ubuntu 14.04,主机是windows 10。


0
我最终卸载了Vagrant并删除了Vagrant使用的目录。然后我重新安装了Vagrant,就没有出现幽灵Vagrant实例了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接