Eliminando la lista de vms en vagrant cache

111

No estoy buscando esta respuesta, porque mi pregunta es diferente.

Cuando vagrant global-statusescribo, obtengo una lista de vms, pero algunos de esos directorios y VM se han eliminado junto con Vagrantfiles.

Pero cuando escribovagrant destroy [machineid] , aparece el siguiente error, que estoy buscando resolver. Por favor avise.

The working directory for Vagrant doesn't exist! This is the
specified working directory:

/Users/steven/projects/php/vagrant-laravel
usuario710587
fuente

Respuestas:

247

Debe utilizar el siguiente comando para eliminar las entradas no válidas del índice global:

vagrant global-status --prune
Emyl
fuente
Bueno, es bueno que sea una respuesta aceptada y votada, pero esto "poda" la lista de estado global. Lo que significa que la máquina virtual ya no aparece en la lista. Sin embargo, la máquina virtual en sí permanece intacta. Lo que significa que uno todavía tiene que anular el registro y eliminarlo manualmente. Lo más simple debería ser que el vagabundo hace su trabajo correctamente cuando se le da$ vagrant destroy -f <id>
silverdr
El resultado de vagrant global-status --prunees correcto para no estar al tanto de los directorios de Vagrant eliminados, ya que el conocimiento de Vagrant de la VM que administraba en ese directorio se eliminó cuando se eliminaron los archivos que administran la VM. Ahora es el problema del hipervisor.
bschlueter
¡¡Gracias!! Busqué esto durante mucho tiempo
Jean-Marc Amon
17

Yo también tuve este problema. Pude solucionarlo modificando el contenido de ~/.vagrant.d/data/machine-index/index. Está en formato JSON, así que eliminé los datos relacionados con instancias que ya no existían.

Solo eliminé los datos que pertenecían a instancias que ya no existen. No modificaría ningún dato relacionado con una instancia que existe en el sistema de archivos.

Sarcastron
fuente
Encontré esto útil para borrar las casillas de estado global, que generalmente están apagadas cuando reinicio el host (mi mac). Me hace preguntarme qué hace el estatus global y si tiene un efecto en subir la caja nuevamente.
kaplan
14

--pruneno funcionó para mí. He quitado ~/.vagrant, ~/.vagrant.dy .vagrant. Y eliminó manualmente las VM persistentes.

Migré de regreso gemsy boxesdesde el original ~/.vagrant.d. Quizás uno pueda intentar quitar solo la máquina, .vagrantpero no lo probé .

Akostadinov
fuente
2
Tuve este problema cuando se eliminó el directorio en el que se veía la imagen errante. --prune falló pero rm -rf ~ / .vagrant * funcionó. Ejecutando vagrant global-status después de recrear los directorios apropiados. (Esto elimina todas las cajas descargadas y se volverán a descargar en el próximo vagabundo según sea necesario)
Tommy Strand
1

Utilizar vagrant box remove -f [name]

Funciona. ¡Garantizado!

Pendragón
fuente
0

solía

vagrant global-status --prune
vagrant box remove -f [name]

También me quité

~/.vagrant, ~/.vagrant.d and .vagrant. 

Y eliminó manualmente las VM persistentes si las hubiera.

Mehmet Özkan YAVUZ
fuente