Vagrant Up失败,因为名称已存在

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vagrant Up失败,因为名称已存在相关的知识,希望对你有一定的参考价值。

我最近开始在我的本地Wordpress开发环境中使用Virtualbox,Vagrant和VVV。它很光滑。

我遇到的一个问题是,在关闭'流浪汉停止'之后,下次我开始'流浪汉'时,我得到了这个错误:

==> default: Setting the name of the VM: vagrant-local 
The name of your virtual machine couldn't be set because VirtualBox
is reporting another VM with that name already exists. Most of the
time, this is because of an error with VirtualBox not cleaning up
properly. To fix this, verify that no VMs with that name do exist
(by opening the VirtualBox GUI). If they don't, then look at the
folder in the error message from VirtualBox below and remove it
if there isn't any information you need in there.

VirtualBox error:

VBoxManage.exe: error: Could not rename the directory 'C:VirtualBox VMsubuntu-cloudimg-trusty-va
230_94704' to 'C:VirtualBox VMsvagrant-local' to save the settings file (VERR_ALREADY_EXISTS)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component SessionMachine, interface IMac
VBoxManage.exe: error: Context: "SaveSettings()" at line 3015 of file VBoxManageModifyVM.cpp

我访问列出的位置C: VirtualBox VMs ,实际上,该目录'vagrant-local'已经存在。如果我删除(或重命名)此目录并再次运行'vagrant up',则机器启动。但是,它还执行完整的配置过程。当然,这需要很长时间。

我正在使用VVV和Vagrant开箱即用的所有默认配置。我该怎么做才能帮助VirtualBox“正确清理”并认识到每次停止并重新启动时都不需要重新创建VM。

或者,我只是错过了什么?

如果不是首选,欢迎“初级”回复。我是这个领域的初学者,我很感激你的帮助!谢谢。


当前状态:我从C: VirtualBox VMs 中删除了有问题的VM;以管理员身份运行Git Bash,我已经能够再次使用vagrant up(完全提供),vagrant haltvagrant up所有预期结果(没有在第二个up上配置)。截至目前,似乎一切正常。出现...... :)

答案

哼..这是一个奇怪的问题。当你运行vagrant halt时它只是发送信号来终止VM。

Vagrant将所有配置保存在.vagrant目录下(至少对于mac os和linux,不完全确定是否有windows),你永远不应该删除这个目录,因为它具有对你的vm的所有引用,所以当你下次运行vagrant up时,vagrant将从此目录中搜索信息以启动相应的vm,并且它知道它不需要重新创建VM或配置。

删除有关vm的信息的正确方法是运行vagrant destroy,它将删除所有.vagrant目录和vm。

然后是从.vagrant和你的虚拟机再次建立这种联系的方法,但它有点棘手,不确定它们是否得到官方支持

当你使用vagrant时,VirtualBox应该(几乎)透明,你不需要启动它来使用你的VM,一切都应该从vagrant运行(至少在初学者级别)

注意:在Windows上运行,如果以管理员身份运行,则应该没问题

另一答案

如果您使用的是Mac,并且vagrant destroy不起作用,则会收到消息:The name of your virtual machine couldn't be set because VirtualBox is reporting another VM with that name already exists.然后您需要转到用户文件夹中的VirtualBox VMs文件夹并删除VM文件夹。

它处于一种奇怪的状态,它无法构建VM,因为它正在尝试为已经存在同名的文件夹创建设置。

另一答案

我的大多数比这些更简单。我检查了“Virtual Box VMs”目录(对于Windows),并删除了名为它的名称的文件夹。这解决了我的问题。

另一答案

流浪汉时我得到了上面提到的git bash错误。发生此问题有多种可能性。

我已经使用下面提到的步骤和vagrant命令正常工作。

  1. 打开Oracle VM虚拟管理器 - 在此Oracle VM虚拟管理器面板中,删除当前正在运行的虚拟机。
  2. 退出git bash命令提示符
  3. 再次打开git bash
  4. 将vagrant up命令作为vagrant up运行

Vagrant up命令将成功运行。

请注意:确保在关闭git bash命令提示符时运行vagrant halt命令。

首先,流浪汉停止然后退出命令。

另一答案

VBoxManage:错误:无法将目录'<SOURCE>'重命名为'<DESTINATION>'以保存设置文件(VERR_ALREADY_EXISTS

如果您不关心VM状态,并且可以从头开始配置它,请删除目标文件夹,然后它应该可以正常工作。还要仔细检查是否已将其从VirtualBox列表中删除。

这可能发生在VirtualBox未正确清理或您中断清理过程(例如vagrant destroy中间的Ctrl-C)时。

以上是关于Vagrant Up失败,因为名称已存在的主要内容,如果未能解决你的问题,请参考以下文章

Hyperledger Fabric 端到端流程:devenv 中的 vagrant up 失败

为什么`vagrant up`会失败“ifdown eth1”SSH测试?

vagrant up没有反应问题解决

vagrant up命令抛出ssl错误

vagrant up 运行时 Ping IP 地址超时

vagrant up 卡在挂载 nfs 上