Vagrant önbelleğindeki sanal makinelerin listesini kaldırma


111

Bu cevabı aramıyorum çünkü sorum farklı.

Ben yazarken vagrant global-statusben VM'lerin listesini almak, ancak bu dizinleri ve VM bazı Vagrantfiles ile birlikte silindi.

İ yazarken Fakat vagrant destroy [machineid], ben gidermek için arıyorum aşağıdaki hatayı, olsun. Tavsiye lütfen.

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

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

Yanıtlar:


247

Geçersiz girişleri genel dizinden kaldırmak için aşağıdaki komutu kullanmalısınız:

vagrant global-status --prune

Kabul edilmiş ve olumlu oylanmış bir cevap olması güzel, ama bu küresel durum listesini "eritiyor". Sanal makinenin artık listede görünmediği anlamına gelir. Yine de sanal makinenin kendisi dokunulmadan kalır. Bunun anlamı, yine de kaydını silmeli ve manuel olarak silmelidir. Çok basit olan şey, serserinin verildiğinde işini düzgün yapması olmalı$ vagrant destroy -f <id>
silverdr

vagrant global-status --pruneVagrant'ın o dizinde yönettiği VM hakkındaki bilgisi, VM'yi yöneten dosyaları kaldırıldığında kaldırıldığından, çıktısı silinen Vagrant dizinlerinin farkında olmamak için doğrudur. Artık hipervizörün sorunu bu.
bschlueter

Teşekkürler!! Bunu uzun süre aradım
Jean-Marc Amon

17

Ben de bu sorunu yaşadım. İçeriğini değiştirerek düzeltmeyi başardım ~/.vagrant.d/data/machine-index/index. JSON biçiminde olduğundan, artık var olmayan örneklerle ilgili verileri kaldırdım.

Yalnızca artık var olmayan örneklerle ilgili verileri kaldırdım. Dosya sisteminde var olan bir örnekle ilgili herhangi bir veriyi değiştirmem.


Bunu, yalnızca ana bilgisayarı (mac'um) yeniden başlattığımda genellikle kapalı olan genel durum kutularını temizlemek için yararlı buldum. Küresel durumun ne işe yaradığını ve kutuyu yeniden yükseltmede bir etkisi olup olmadığını merak etmeme neden oluyor.
kaplan

14

--prunebenim için çalışmadı. Ben kaldırıldı ~/.vagrant, ~/.vagrant.dve .vagrant. Ve kalan sanal makineleri manuel olarak kaldırın.

Geri gemsve boxesorijinalden göç ettim ~/.vagrant.d. Belki biri yalnızca makineyi kaldırmayı deneyebilir, .vagrantancak bunu test etmedim.


2
Bu sorunu serseri görüntünün bakıldığı dizin silindiğinde yaşadım. --prune başarısız oldu, ancak rm -rf ~ / .vagrant * çalıştı. Uygun dizinleri yeniden oluşturduktan sonra serseri küresel durumu çalıştırmak. (Bu, indirilen tüm kutuları kaldırır ve gerektiğinde sonraki serseride yeniden indirilir)
Tommy Strand

1

kullanım vagrant box remove -f [name]

İşe yarıyor. Garantili!


0

kullandım

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

Ayrıca kaldırdım

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

Ve varsa kalan VM'leri manuel olarak kaldırın.

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.