Ya existe una máquina VirtualBox con el nombre 'homestead'

112

Desde que Homestead 2.0 Homestead Laravel no ha estado funcionando

No sé por qué 'homestead init' crea un archivo Homestead.yaml en mydirectory / .homestead y no en el directorio del proyecto. Homestead up OR Vagrant up crea el siguiente mensaje

Ya existe una máquina VirtualBox con el nombre 'homestead'.

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.
Matt Doran
fuente
1
Esto puede suceder cuando elimina directamente del sistema de archivos sin informar a Vagrant y / o VirtualBox. Intente VBoxManage list vmsver si hay una entrada de fantasma / huérfano / zombi que deba eliminarse.
MarkHu
Para obtener una respuesta específica de la granja, consulte la respuesta de @TheSteed
John_911

Respuestas:

276

Resolví usando vboxmanagepara obtener el ID de la VM.

$ vboxmanage list vms
"my-vm" {c700b8b6-b766-4638-871b-736b44b7db18}

Copie el ID de la VM deseada (la c700…db18cadena) en el contenido de ~/.vagrant/machines/default/virtualbox/id. Guarde el archivo y luego ejecútelo vagrant uppara que la máquina virtual funcione sin tener que destruirla.

fiorebat
fuente
22
¡Tu respuesta debería ser aceptada! Resolvió el problema sin destruir una máquina, como sugirieron algunos otros
Nisic Jovan
17
Sólo para nota, que si usted designó a su caja de manera diferente a través define(como yo), entonces el camino no será ../default/ , su: .vagrant/machines/<box name>/virtualbox/id. #¡lucro!
Ian Vaughan
7
Trabajado como un encanto. Solo tengo curiosidad por saber por qué la identificación de mi máquina virtual cambió de repente y esto era necesario en absoluto.
Chris
7
En mi entorno de desarrollo, el archivo de identificación estaba en la misma ruta, pero en la raíz del proyecto. En project-root / .vagrant / machines / default / virtualbox / id
Guillermo Maschwitz
23
Para mí, la .vagrantcarpeta no estaba ~/sino en la carpeta de instalación de Homestead (es decir, la carpeta desde la que se ejecuta vagrant up)
andrewtweber
75

Para mí, la máquina no se mostraba como una máquina virtual activa en la aplicación VirtualBox. Para arreglarlo tuve que hacer esto:

vagrant global-status

Esto me dio la identificación de la máquina que necesitaba destruir. Con la identificación, ejecute:

vagrant destroy {VM ID}

Tuve que ejecutar eso en sudo para destruir realmente la máquina. En ese momento, pude correr

vagrant up

Joey
fuente
Si la caja de su propiedad familiar está dañada y aún no se está ejecutando, esta es la respuesta para usted. Verificado en Ubuntu 14.02 con VirtualBox.
Dylan Pierce
Esto es útil porque le muestra el directorio de máquinas virtuales vagabundas en ejecución
Mladen Janjetovic
El comando vagrant destroy vm_iddebe ejecutarse desde el mismo directorio.
Amr
41

Del siguiente mensaje:

Ya existe una máquina VirtualBox con el nombre ' vm_name '. Utilice otro nombre o elimine la máquina con el nombre existente y vuelva a intentarlo.

Enumeré las máquinas virtuales en ejecución actuales desde la línea de comando:

VBoxManage list vms

Resultado:

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

Luego procedió con la eliminación de la máquina virtual infractora:

VBoxManage unregistervm 8ba467b7-da96-4f68-9bf8-671dd6f0d007 --delete
Shaka Z.
fuente
8
La única respuesta que muestra cómo eliminar una máquina virtual de la línea de comandos
WorldSEnder
1
Tenga en cuenta que esto no funcionará si VirtualBox VM aún se está ejecutando. La máquina virtual debe cerrarse o, de lo contrario, el comando fallará "porque la máquina virtual está bloqueada".
Noah Sussman
4
Sí y el comando se apagaría. Resumen de lo que funcionó para mí: vboxmanage list vms, vboxmanage controlvm <id> poweroff, vboxmanage unregistervm <id> --delete
dvsander
27

Llego un poco tarde a la fiesta por esto, pero para cualquier otra persona que tenga este problema, SergioPeluzzi se acercó más, pero no consiguió el cigarro con esto:

Busque la línea vb.name = settings ["name"] = "homestead" y cambió "homestead" a "HOMESTEAD" y "vói lá"

La línea es en realidad:

vb.name = settings["name"] ||= "homestead"

Como puede ver en el bit que dice configuración ["nombre"], solo necesita agregar un campo de nombre a su archivo YAML de Homestead, por ejemplo

memory: 2048
cpus: 1
provider: virtualbox
name: my-sexy-homestead-box
TheSteed
fuente
6
Esta es la mejor respuesta si realmente está instalando y utilizando varias instancias de Homestead.
lintuxvi
1
Estoy de acuerdo con @lintuxvi, esta es la mejor respuesta si está trabajando con varias instancias de Homestead
Abdul Rahman A Samad
1
La clave es name: my-sexy-homestead-box- ¡Gracias!
Artistan
¡De lejos la mejor respuesta!
sdespont
16

Resolví esta edición /Homestead_folder/scripts/homestead.rb

Buscar la vb.name = settings["name"] = "homestead"línea y ha cambiado homesteada HOMESTEADy "Voi lá" que trabajó para mí.

SergioPeluzzi
fuente
Esta es la mejor respuesta que he visto.
Ousmane Traore
Esto funciona. Busque en este archivo todos los registros vb.name = settings ['name'] y cámbielo en
consecuencia
ver respuesta de @TheSteed
John_911
14

Edité Homestead.yaml y le agregué un nuevo nombre

ip: "192.168.10.10"
memory: 2048
cpus: 4
provider: virtualbox
name: my-new-homestead-box-name
Michael Nguyen
fuente
Esta es la forma correcta de hacerlo. homestead.rb config primero busca la variable de nombre en homestead.yaml
Sjshovan
Estaba tratando de hacer funcionar otra granja. Nunca pensé que sería tan fácil. Simplemente agregue un nombre en Homestead.yaml
Apit John Ismail
1
Esta debería ser la respuesta aceptada y la más fácil de implementar.
Casper Wilkes
9

Tenía un directorio .vagrant antiguo en mi proyecto que estaba causando el error :)

Si esto no lo soluciona, sugeriría abrir VirtualBox y eliminar todos los VirtualBoxes y volver a intentarlo.

Matt Doran
fuente
2
Eso fue todo. Después de hacer la "actualización de vagrant box" tuve que eliminar ese directorio .vagrant y volver a ejecutar vagrant up.
ecairol
8

Tuve el mismo problema hoy. Dedique unas horas a encontrar la solución. Si por alguna razón no puede encontrar la lista de máquinas virtuales existentes, escriba terminal

sudo virtualbox

Esto ejecutará Virtual Box en GUI. Debería ver la lista completa de VM y desde allí podrá administrarlas. Escribir solo "virtualbox" no mostrará nada. Necesitas ser root (administrador).

Gracias a mightyspaj por el dato.

Vesaka
fuente
1
Usando la aplicación regular virtualbox en OS X, no pude ver ninguna máquina virtual en una lista a pesar de que me dijeron que ya existía. Luego escribí sudo virtualbox y vi un montón de VM y el problema se solucionó. Gracias.
Dwayne Charrington
Nunca uses sudo con VirtualBox. Vas a arruinar los permisos
Wistar
7

Recibí el mismo mensaje de error, incluso después de ejecutar "homestead destory" y "vagrant destroy". Al igual que usted, estaba usando el proveedor de VirtualBox, vagrant y homestead. Esto es lo que hice:

  1. Se abrió la GUI de VirtualBox. Veo "homestead" como VM, pero no puedo eliminarlo, el botón está atenuado.
  2. Salí de mi sistema operativo, volví a iniciar sesión y volví a abrir VirtualBox. El estado ahora es "abortado" y puedo eliminarlo.
  3. Había algunos archivos residuales ~/VirtualBox\ VMs/homestead, así que corrírm -r /Users/gabriel/VirtualBox\ VMs/homestead
  4. Ahora puedo ejecutar "homestead up"
gabrielfreiberg
fuente
6

Abrí virtualBox y luego eliminé homestead vm que se creó anteriormente. Eso ayudo.

mente az
fuente
5

lista de caja vagabunda

caja vagabunda eliminar laravel / homestead

vagabundo estado global

vagabundo destruir nameOfYourBox

Abra su VirtualBox y elimine todos los elementos de su hogar

vagabundo

Clayton KN Passos
fuente
4

Abra la GUI de VirtualBox. Consulte su VM y elimínela. Resolvió mi problema.

Omkar Achrekar
fuente
3

A veces, es posible que no desee eliminar el cuadro antiguo. Ayer, el viejo Vagrant se rompió, actualicé Vagrant y Virtualbox, pero la asignación de carpetas no funcionó. Quería ejecutar una nueva caja y tuve este error.

No quería eliminar el cuadro antiguo (porque quería ejecutar algunas copias de seguridad) pero quería ejecutar un cuadro nuevo. La solución estaba ejecutando VirtualBox, haga clic con el botón derecho en la máquina Homestead y seleccione Configuración y luego cambie el nombre de homesteada homestead_old.

Después de eso, pude instalar Homestead, pero tenía esta máquina vieja y también podía ejecutarla para hacer las copias de seguridad que necesitaba.

Homestead cambia de nombre en Virtualbox

Marcin Nabiałek
fuente
3

Si es un usuario de Windows, asegúrese de eliminar la C:\Users\<Username>\VirtualBox VMs\homesteadcarpeta. Porque si todavía hay una carpeta llamada homestead, la acción de vagrant upno se completará

París Qian Sen
fuente
1
En mi caso, tenía dos carpetas: homestead y homestead-7. Después de eliminar ambos, problema resuelto. ¡Gracias!
eleftrik
3

Nada de esto funcionó para mí. Estaba usando una vieja máquina de desarrollo

Lo intenté:

  1. vagrant global-status> destruya cualquiera idque no necesite o coincida con lo que está en conflicto

  2. abra virtualbox y elimine + elimine archivos para cualquiera que no necesite o esté en conflicto

Qué funcionó:

  • localiza tu ~/.vagrant/machines/~/.vagrant.d/boxes carpeta o . En mi caso, contenía el vm en conflicto y también un montón de viejas máquinas vm sobrantes que los pasos 1 y 2 no eliminaron por alguna razón.

  • después de borrar estos, todo funcionó bien nuevamente, ¡finalmente!

wired00
fuente
Esta es una gran respuesta si la VM en conflicto está bien para ser eliminada / borrada. Esta respuesta debe modificarse ahora que la carpeta es ~/.vagrant.d/boxes/@ wired00
lintuxvi
@lintuxvi acaba de agregar :)
wired00
¡Gracias! ¡Me resolvió el problema!
VivekP
2

Si desea conservar su máquina, sin destruir y volver a crear, los siguientes pasos deberían resolver su problema. (Trabajo en OS X El Captain, Vagrant 1.8.1)

Ejecutar homestead en modo de depuración

homestead --debug up

Busque algo como en la salida:

Máquina INFO: Inicializando máquina: máquina INFO predeterminada: - Proveedor: VagrantPlugins :: ProviderVirtualBox :: Proveedor INFO máquina: - Caja: # máquina INFO: - Directorio de datos: /Users/YOUR_HOME_DIR/Workspace/Homestead/.vagrant/machines/default/ caja virtual

El directorio de datos es el camino que le interesa.

Luego vboxmanage list vms

"homestead" {0e8438b9-4a67-4fb1-80cb-2c62cf04ab5c} "settler_default_1447385930122_73498_1474294682778_13108" {93ecb93f-f159-4406-a384-5312b4d3ab34}

Edite el archivo de identificación , en la ruta que encontró en el comando anterior

vi /Users/YOUR_HOME_DIR/Workspace/Homestead/.vagrant/machines/default/virtualbox/id

Reemplace el contenido de ese archivo, con la identificación de la máquina virtual que desea arreglar, en este escenario es

0e8438b9-4a67-4fb1-80cb-2c62cf04ab5c

Ahora intenta

homestead up

VM debería comenzar a arrancar. Podría funcionar, o podría tener problemas con la autenticación SSH

default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Authentication failure. Retrying...     default: Warning: Authentication failure. Retrying...

Para solucionarlo, haz lo siguiente: Check Homestead SSH config

homestead ssh-config

Deberías conseguir algo como

Host predeterminado Nombre de host 127.0.0.1 Usuario vagabundo Puerto 2222
UserKnownHostsFile / dev / null StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile "/Users/pryznar/.vagrant.d/insecure_private_key"
IdentitiesOnly yes LogLevel FATAL

Editar archivo IdentityFile

/Users/YOUR_HOME_DIR/.vagrant.d/insecure_private_key

Compruebe Homestead.yml

cat /Users/YOUR_HOME_DIR/.homestead/Homestead.yaml

Luego copie la ruta al archivo debajo de las claves de clave y copie la clave privada de ese archivo

cat ~/.homestead/ssh/id_rsa

El último paso es reemplazar la clave privada en /Users/YOUR_HOME_DIR/.vagrant.d/insecure_private_key con la que acaba de copiar

Ahora intente el rung homestead nuevamente, debería funcionar.

homestead up

Recibí algunas advertencias, pero hasta ahora funciona sin problemas.

==> predeterminado: Advertencia: El uso de una contraseña en la interfaz de línea de comandos puede ser inseguro. ==> predeterminado: ERROR 1045 (28000): Acceso denegado para el usuario 'homestead' @ 'localhost' (usando contraseña: YES) El comando SSH respondió con un estado de salida distinto de cero. Vagrant asume que esto significa que el comando falló. La salida de este comando debe estar en el registro anterior. Lea el resultado para determinar qué salió mal.

Pawel Ryznar
fuente
2

Puede abrir la GUI de VirtualBox y eliminar la máquina virtual en conflicto.

Bitclaw
fuente
1

En mi caso, el siguiente artículo proporciona la solución. Había una carpeta llamada homestead dentro de la ruta / var / root / VirtualBox VMs / que estaba causando el problema. Una vez que se eliminó esta carpeta, rm -r homestead , se resolvió el problema. Si no puede ver o tener acceso a esta ruta, ejecute los siguientes comandos en las ventanas de su terminal:

$ sudo -s 
$ cd /var/root/VirtualBox\ VMs

Y proceda a eliminar la carpeta Homestead .

James
fuente
1

Tuve el siguiente error:

Error :

A VirtualBox machine with the name 'homestead-7' already exists.
Please use another name or delete the machine with the existing
name, and try again.

Solucion :

  • Encuentra la carpeta VirtualBox VMS , en mi caso estaba en~/VirtualBox VMs
  • Enumere los elementos en la carpeta con el lscomando y revise si la máquina virtual está allí
  • Elimina la carpeta con el nombre de la máquina, en mi caso homestead-7
  • Vuelva a ejecutar el vagrant upcomando en la carpeta Homestead

Eso es todo, espero que sea de ayuda, esa fue mi solución.

¡Saludos!

Radames E. Hernandez
fuente
0

Después de algunas horas de resolución de problemas, nada más funcionó para mí, ya que nadie mencionó este pequeño detalle.

Dependiendo de sus privilegios en el momento de la instalación, es posible que deba ejecutar virtualbox como administrador. Fue solo cuando hice esto que vi mis cajas vagabundas en la lista de máquinas virtuales.

Luego procedí a eliminar mi máquina virtual nombrada homesteadde virtualbox, y el problema se resolvió.

dspacejs
fuente
0

Si está usando Homestead en Windows, simplemente abra su Oracle VM VirtualBox y elimine la homesteadVM.

Jonathan
fuente
0

Vagrant se basa en VirtualBox (si ese es el proveedor predeterminado), por lo que primero verifica el entorno existente antes de aprovisionar su VM.

Está ejecutando el siguiente comando:

VBoxManage list vms

y cuando encuentre la VM con el mismo nombre de host, fallará.

Puede depurarlo mediante:

vagrant --debug up

para averiguar la razón exacta.


Solución

Si planea usar múltiples VM en diferentes carpetas, entonces necesita cambiar su config.vm.hostname(posiblemente config.vm.provider(name)también) en su Vagrantfilepara que sea único. O simplemente elimínelo, para que Vagrant asigne un nombre diferente a cada VM.

Si ese no es el caso, simplemente apague y anule el registro de la VM anterior que entra en conflicto ejecutando:

VBoxManage controlvm NAMEOFVM poweroff
VBoxManage unregistervm NAMEOFVM --delete

y vuelva a ejecutar su vagrant up.

Si falla en el cambio de nombre del directorio (porque se perdió --delete), cambie el nombre o elimine la carpeta de destino , por ejemplo:

rm -fr ~/"VirtualBox VMs/NAMEOFVM"

y vuelva a intentarlo.


Este problema puede estar relacionado con: Problema de GitHub # 2969 - vagrant up no detecta una VM ejecutada previamente

Kenorb
fuente
0

En mi caso, nada indicaba que la VM "ya existe" además de ese mensaje de error. Nada en la interfaz de usuario de VirtualBox, nada devuelto por "vboxmanage list vms", nada a través de "vagrant global-status", no existía en ".vagrant.d \ boxes" y así sucesivamente. Lo resolví creando manualmente una nueva máquina virtual con el mismo nombre en VM VirtualBox Manager (usando el botón "nuevo" + aceptando todos los valores predeterminados), y luego eliminándola (clic derecho> eliminar). Después de eso, el "vagabundo" funcionó como se esperaba.

Jiri Jelinek
fuente
0

Tuve el mismo problema hoy. Windows 10. Recientemente había actualizado Homestead, así que el error probablemente se debió a eso. Lo he probado todo, destroy, up, carpetas de borrado, lo que sea. Siempre que intenté ejecutar vagrant up, mostraba este tipo de errores. ¿La solución? Después de la actualización, noté que Homestead ahora está nombrando las casillas por el nombre de la carpeta del proyecto, y Homestead.yaml tiene toda esa información. Acabo de ejecutar esa configuración de Windows de Homestead vendor\\bin\\homestead makey luego vagrant up(antes de asegurarme de que todo estaba limpio) y voilá, parece que la máquina se está iniciando ahora. =) Pruébelo si lo necesita.

giovannipds
fuente
0

Agregue --forcedespués del cuadro y antes de su nombre de pila.

Harka Subba
fuente
2
Por favor, editar su respuesta para explicar por qué cree que esta solución va a funcionar, lo que hace y cómo. También vale la pena formalizar tu inglés (aunque aprecio que el inglés probablemente no sea tu primer idioma), aunque he editado tu respuesta para corregirlo y ponerlo en orden.
David dice reinstalar a Monica el
0

Cambiar el nombre de una máquina virtual predeterminada ya existente

Descargo de responsabilidad

El siguiente procedimiento destruirá su VM y es posible que solo se pueda instalar en un entorno de diseño como el mío. Para entornos de producción, considere reparar la asociación como describe aquí

Tuve este problema después de anular el nombre predeterminado de una máquina virtual ya existente usando

Vagrant.configure("2") do |config|
  config.vm.define :ubuntu_test

donde también se estableció el nombre de VirtualBox (como novato asumí que Vagrand también usará este nombre)

config.vm.provider "virtualbox" do |vb|
     vb.name = "Ubuntu-Test"
end

Al agregar config.vm.define, parece que Vagrant ya no asocia VirtualBox VM con el archivo Vagrant, ya que incluso vagrant destroy -fdice VM not createdpero vagrant uparroja este error

Ya existe una máquina VirtualBox con el nombre 'Ubuntu-Test'.

Para eliminar esas VM zombies
  1. Si la máquina virtual se está ejecutando, primero deténgala: vboxmanage shutdown <VMName>(aquí el nombre esUbuntu-Test )
  2. Obtenga la identificación ejecutando vboxmanage list vms
  3. Bórralo: vboxmanage unregistervm <Id> --delete
  4. Ahora su VM se puede volver a crear usando vagrant up
  5. Usando vagrant global-status --prune, su nuevo nombre está presente
León
fuente
0

Para mí, el archivo de identificación estaba presente en la ubicación mencionada a continuación. D: \ drupalvm.vagrant \ machines \ drupalvm \ virtualbox

sneha survey
fuente
0

Windows10

Edite el archivo Homestead.yaml y asigne un nuevo nombre a la caja:

ip: "192.168.10.10"
memory: 2048
cpus: 2
provider: virtualbox
name: my-new-vbox      #new name for the box

y corre vagrant upovagrant up --provision

O

Abra la aplicación Virtualbx en la GUI y elimine todo el virtualbox que estaba causando el problema y ejecute el comando anterior

O

Elimine el archivo "Vagrant" dentro de la carpeta Homestead y ejecute el comando anterior.

Nava Bogatee
fuente
0

Solo tiene que agregar la clave namea su homestead.yamlarchivo justo después del proveedor de esta manera:

name: name_of_you_machine

Funciona para mi.

Cruzriga
fuente