已存在名为"homestead"的VirtualBox计算机

Mat*_*ran 102 virtualbox virtual-machine vagrant

由于宅基地2.0宅基地laravel没有工作

我不知道为什么'homestead init'在mydirectory/.homestead中创建一个Homestead.yaml文件,而不是在项目目录中.Homestead up OR Vagrant up创建以下消息

已存在名为"homestead"的VirtualBox计算机.

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'laravel/homestead'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'laravel/homestead' is up to date...
A VirtualBox machine with the name 'homestead' already exists.
Please use another name or delete the machine with the existing
name, and try again.
Run Code Online (Sandbox Code Playgroud)

fio*_*bat 264

我通过使用vboxmanage获取VM的ID来解决.

$ vboxmanage list vms
"my-vm" {c700b8b6-b766-4638-871b-736b44b7db18}
Run Code Online (Sandbox Code Playgroud)

将所需VM(c700…db18字符串)的ID复制到其中~/.vagrant/machines/default/virtualbox/id.保存文件然后运行vagrant up以使vm工作而不必销毁它.

  • 你的答案应该被接受!你解决了这个问题而不会破坏机器,就像其他人建议的那样 (22认同)
  • 对我来说,`.vagrant`文件夹不在`〜/`但是在宅基安装文件夹中(即你运行`vagrant up`的文件夹) (21认同)
  • 请注意,如果你通过`define`命名你的盒子(就像我一样),那么路径将不是`../default/`,它的:`.vagrant/machines/<box name>/virtualbox/id `.#利润! (16认同)
  • 工作就像一个魅力.只是好奇为什么我的vm的id突然改变了,这根本就是必要的. (7认同)
  • 在我的开发环境中,id文件位于相同的路径上,但是在项目的根目录上.在project-root/.vagrant/machines/default/virtualbox/id (7认同)
  • 我几乎删除了我的机器,谢天谢地我发现了这个.顺便说一句,.vagrant位于你的流浪者所在的地方,就像我的情况一样,它位于'Homestead'文件夹中. (5认同)
  • 在os x中它是"VBoxManage list vms" (3认同)
  • 非常感谢!=) (2认同)
  • 使用此建议后(并将 vagrant 从 1.7.x 升级到 1.8.1),在执行 `vagrant up` 时出现此错误:_Warning: Authentication failure。正在重试..._. 在 macOS 终端中,我可以 ctrl+c 退出,然后执行 `vagrant ssh` 并使用 **vagrant** 作为密码。可能做错了什么。但是……我每三年只碰一次 vagrant(当出现问题时)。 (2认同)

Joe*_*oey 71

对我来说,机器没有显示为VirtualBox应用程序中的活动VM.要修复我必须这样做:

vagrant global-status

这给了我需要销毁的机器的ID.使用ID,运行:

vagrant destroy {VM ID}

我不得不在sudo中运行它来实际销毁机器.那时,我能跑了

vagrant up

  • 命令 `vagrant destroy vm_id` 必须在同一目录中运行。 (2认同)

bob*_*ann 41

您可能正在运行虚拟机!打开程序virtualbox并关闭其他虚拟机;) http://smallbusiness.chron.com/shut-down-virtualbox-43657.html

如果这不起作用,那么您可能想要删除旧的Homestead文件夹并将所有项目放在新文件夹中;)


小智 36

从以下消息:

已存在名为" vm_name "的VirtualBox计算机.请使用其他名称或删除具有现有名称的计算机,然后重试.

我从命令行列出了当前正在运行的虚拟机:

VBoxManage list vms
Run Code Online (Sandbox Code Playgroud)

结果:

" vm_name "{ 8ba467b7-da96-4f68-9bf8-671dd6f0d007 }

然后继续删除有问题的虚拟机:

VBoxManage unregistervm 8ba467b7-da96-4f68-9bf8-671dd6f0d007 --delete
Run Code Online (Sandbox Code Playgroud)

  • 唯一的答案显示了如何从命令行删除VM (5认同)
  • 是的,命令将是 poweroff。对我有用的总结:vboxmanage list vms、vboxmanage controlvm &lt;id&gt; poweroff、vboxmanage unregistervm &lt;id&gt; --delete (4认同)

The*_*eed 21

我对这个派对来说有点晚了,但是对于其他任何有这个问题的人来说,SergioPeluzzi来得最近了,但没有拿到雪茄:

寻求vb.name =设置["name"] ="宅基地"线并将"宅基地"改为"HOMESTEAD"和"vóilá"

这条线实际上是:

vb.name = settings["name"] ||= "homestead"
Run Code Online (Sandbox Code Playgroud)

正如你可以从设置["name"]的位看到的,你只需要在Homestead YAML文件中添加一个名称字段,例如

memory: 2048
cpus: 1
provider: virtualbox
name: my-sexy-homestead-box
Run Code Online (Sandbox Code Playgroud)

  • 如果您实际*安装并使用多个Homestead实例,这是最佳答案. (3认同)
  • 我同意@lintuxvi 如果您正在使用多个 Homestead 实例,这是最好的答案 (2认同)
  • 关键是“名称:my-sexy-homestead-box”——谢谢! (2认同)

小智 15

我解决了这个编辑问题 /Homestead_folder/scripts/homestead.rb

寻求vb.name = settings["name"] = "homestead"线和改变homestead,以HOMESTEAD"VOI LA"为我工作.


Mat*_*ran 9

我的项目中有一个旧的.vagrant目录导致错误:)

如果这不能解决它,我建议打开VirtualBox并删除所有VirtualBox并再次尝试.

  • 就是这样.在做了"vagrant box update"之后,我不得不删除那个.vagrant目录并重新运行vagrant. (2认同)

小智 8

我今天也有同样的问题.花几个小时找到解决方案.如果由于任何原因您无法找到现有虚拟机列表,请键入终端

sudo virtualbox
Run Code Online (Sandbox Code Playgroud)

这将在GUI中运行Virtual Box.您应该看到完整的VM列表,然后您就可以管理它们了.仅键入"virtualbox"不会显示任何内容.你需要是root(管理员).

感谢mightyspaj提示.


小智 7

即使在运行"宅基地破坏"和"流浪汉摧毁"之后,我也收到了同样的错误信息.和你一样,我使用的是VirtualBox提供商,vagrant和宅基地.这是我做的:

  1. 打开VirtualBox GUI.我将"宅基地"视为虚拟机,但我无法将其删除,按钮显示为灰色.
  2. 我退出了我的操作系统,重新登录并重新打开VirtualBox.状态现在"中止",我可以删除.
  3. 有一些残留文件~/VirtualBox\ VMs/homestead,所以我跑了rm -r /Users/gabriel/VirtualBox\ VMs/homestead
  4. 我现在能够运行"宅基地"


Mic*_*yen 7

我编辑了Homestead.yaml并为其添加了新名称

ip: "192.168.10.10"
memory: 2048
cpus: 4
provider: virtualbox
name: my-new-homestead-box-name
Run Code Online (Sandbox Code Playgroud)

  • 这确实应该是公认的答案,并且最容易实现。 (2认同)

小智 7

您只需在提供程序之后立即将密钥添加name到您的homestead.yaml文件中,如下所示:

name: name_of_you_machine
Run Code Online (Sandbox Code Playgroud)

这对我行得通。


小智 6

我打开了virtualBox,然后删除了之前创建的homestead vm.它有所帮助.


Cla*_*sos 5

要执行的命令:

vagrant box list
vagrant box remove laravel/homestead
vagrant global-status
vagrant destroy nameOfYourBox
Run Code Online (Sandbox Code Playgroud)

打开你的 VirtualBox 并删除你宅基地的所有 itens

vagrant up
Run Code Online (Sandbox Code Playgroud)