Dosya sisteminden bu kutuyu sildikten sonra bir Vagrant kutusunu global durumdan nasıl kaldırırım?


87

Hala çalıştığını fark etmeden önce, çalışan bir Vagrant kutusu içeren bir klasörü sildim.

Onu şimdi Vagrant'tan (genel durum) nasıl silebilirim?

Virtualbox VM'yi zaten kaldırdım.


1
Vagrant VM'nin çalışıp çalışmadığı önemli değil (bunu yakın zamanda öğrendim). VM durdurulursa bile el çalıştırmak yerine kendi dosyalarını silerseniz, vagrant destroy, vagrant global-statushala "ev sahibi durumu bilinmiyor" sorunu bildirir.
John Berberich

Yanıtlar:


195

Listelenen eski kutuları atmak için vagrant global-status(örn. .vagrantDosya sisteminden dizini içeren klasörü sildiniz ) sadece şunu çalıştırmanız gerekir:

vagrant global-status --prune

Sanal Makineyi doğrudan sağlayıcınızdan (VMWare, Virtualbox, ..) kontrol arayüzünden kaldırmanız gerekebilir.


Sorunu kendim için tersine yarattım: VM'nin dosyalarını sağlayıcıdan sildim ve ayrıca Vagrantfile'ı, VM artık projenin Vagrant yapılandırmasının bir parçası olmayacak şekilde değiştirdim. --pruneSeçenek de benim senaryo için çalıştı. Teşekkürler!
John Berberich

Benim için yalnızca mevcut çalışan bir Vagrant tarafından sağlanan VM'nin içinden çalıştı.
Nikos Alexandris

1
Benim için çalışmadı. ~/.vagrant.d/data/machine-indexSorun teşkil eden girişi manuel olarak düzenlemek ve kaldırmak zorunda kaldım .
Dalin

Bu benim durumum için çalıştı. Makinenizin adını ve eskisini (artık çalışmayan) değiştirirseniz, yine de serseri küresel statüye göre listelenir.
Dayron Gallardo

6

Küresel verilerin yeni dosya adının olduğuna inanıyorum ~/.vagrant.d.

Böylece, rm -r ~/.vagrant.dyeni bir başlangıç ​​için tüm kullanıcı verilerini silmek üzere çalıştırabilirsiniz.


0

Benim durumum için: kitchen ve .kitchen / klasörünün gizli serseri dosyaları içerebileceği yerlerde

$ kitchen create

Mutfağı yok etmekten ya da serseri olarak makine kimliğini yok etmekten ya da hatta serseri olarak yok etmekten daha ileri gitmem gerekiyor (serseri küresel durumdan - kullanıcı alanınızdaki serseri örneklerin bir listesini verir.)

Benim durumumda, kullanıcıların .vagrant gizli dizininde bulunan serseri makine kilit dosyalarını ortadan kaldırmak zorunda kaldım.

$ rm -r ~/.vagrant/data

Ve benim durumumda yukarıdaki komutu sudo yapmam gerekiyor.

Sonra nihayet temizlendim

$ vagrant global-status

liste


0

İlk vagrant global-statusönce tüm serseri makineleri ve durumlarını listelemek için kullanırsınız ids.

o zaman kullanabilirsiniz:

 vagrant destroy -f the_id_of_the_machine

bundan sonra vagrant global-statustekrar çalıştırırsanız , vagrant destroy -fkomutta belirttiğiniz id'nin listeden kaldırıldığını göreceksiniz .

ve sonra makinenizi yeniden başlatmanız gerekebilir Ancak bu komutlar kutularınızı etkilemeyecektir.


0

Yukarıdaki komutlar, bir Windows makinesinde benim durumumdaki eski kutuyu kaldırmadı. .vagrantKlasörü ve kutuyu sanal kutu sağlayıcı klasöründen zaten kaldırmıştım, ancak kutu hala vagrant global-status list.

Bir vagrant upkomutun verdiği yorumda belirtildiği gibi :

If you believe this message is in error, please check the process
listing for any "ruby" or "vagrant" processes and kill them. Then
try again.

Bu yüzden ruby.exesüreç listesinden öldürdüm ve bir sonraki yaptım vagrant global-status --prune.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.