我应该如何使用命令vagrant destroy
?
在我的VagrantFile中,我使用vm.config.name = 'websvr'
,当我打开Virtualbox时,我可以在Vm列表中看到websvr。
但每当我使用vagrant destroy websvr
时,它都会返回:
名为' websvr'的机器未找到为此Vagrant环境配置的内容。
vagrant destroy
如何运作?
答案 0 :(得分:30)
该项目似乎不存在,但它出现在列表中,因为它存在于缓存中。使用vagrant global-status --prune
来摆脱它。
有关详细信息,请参阅vagrant global-status documentation。
答案 1 :(得分:3)
让我们在命令行中尝试这些操作
通过致电检查可用的已安装盒子
vagrant box list
查找框ID
vagrant global-status --prune
按要破坏的盒子的ID名称选择。
vagrant destroy 1a2b3c4d
仅此而已。现在,您可以销毁无用的盒子
vagrant destroy xxxxxxx
命令。
答案 2 :(得分:2)
首先尝试运行vagrant status
,这应列出所有具有当前状态(正在运行,未创建等)的虚拟机
虚拟机的名称显示在第一列中,区分大小写。
例如,这就是vagrant status
在我的机器上的输出:
base not created (virtualbox)
git not created (virtualbox)
go not created (virtualbox)
dev_workstation not created (virtualbox)
single_instance not created (virtualbox)
metrics not created (virtualbox)
答案 3 :(得分:1)
要消灭流浪者,您可以尝试以下简单步骤:
vagrant destroy -f.
如果这些都不适合您,则可以使用bash进行尝试。
跳转到实际代码所在的项目文件夹中。右键单击并在此处按git bash。您将看到一个弹出的bash窗口,因此只需在bash窗口中键入相同的命令:vagrant destroy -f
。
我希望这些简单的步骤对您有用。
答案 4 :(得分:0)
要彻底清理VM并从头开始-以下内容对我有用-基本上已结合了其他人已经说过的话。
使用本地的vagrant检查VM状态并销毁是否存在-所有操作都在vagrant文件夹中完成-确保您位于正确的文件夹中!
$ vagrant status
$ vagrant destroy
$ rm -rf .vagrant
全局检查虚拟机状态,并“销毁”是否存在-可以在任何地方进行
$ vagrant global-status
$ vagrant global-status --prune
从VirtualBox的角度检查VM状态并注销VM
$ vboxmanage list vms
### note down long id, eg. c43266e6-e22b-437a-8cc1-541b7ed5c4b
$ vboxmanage unregistervm <long id> --delete
返回到适当的vagrant文件夹并启动VM
$ vagrant up