2013-07-02 16 views
8

Vagrant makinesini çalıştırmayı denedim, ancak Vagrant 1.0.1 yüklü olduğu için hatalarla karşılaştım. Daha sonra Vagrant 1.2.2'yi kaldırdım ve kurdum. Ancak ben serseri koştuğumda bir hata alıyorum.Vagrant precise32 yeni sürüme nasıl yükseltilir?

$ vagrant up 

Bringing machine 'default' up with 'virtualbox' provider... 
The box 'precise32' is still stored on disk in the Vagrant 1.0.x 
format. This box must be upgraded in order to work properly with 
this version of Vagrant. 

Vagrant init denedim ama aynı zamanda bir hata oluştu.

$ vagrant init precise32 http://files.vagrantup.com/precise32.box 

`Vagrantfile` already exists in this directory. Remove it before 
running `vagrant init`. 

Precision32 kutumu yeni bir Vagrant sürümüne nasıl yükseltebilirim? serseri 1.1+ kullanarak paketlenmiş

cevap

15

Run

vagrant box repackage precise32 virtualbox 
+0

Uyarı: Bu (boyut muhtemelen VM bağlıdır büyük bir dosya bırakarak bir yan etkisi vardır, ben 640 meg dosyası var Geçerli çalışma dizininizde 'package.box' denir. Eğer zaten böyle bir dosyaya sahip olsaydınız, sessizce üzerine yazılırdı (bunu üç tane serseri kutunun yeniden paketlenmesine rağmen, sadece bir paket bularak bitirdim). –

0

Kutular fazladan dosya docs uyarınca metadata.json çağrısında bulundu.

deneyin elle

{"provider": "virtualbox"} 

Tekrar deneyin ve hala sorun olup olmadığını öğrenmek içeriği ile ~/.vagrant.d/boxes/precise32/virtualbox altında metadta.json dosyası oluşturmak için.

Eğer yardımcı olmazsa, düşünebilmemin tek yolu, kutuyu kaldırmak ve yeni vagrant sürümünü kullanarak tekrar eklemektir. Kutuları yok etmek zorunda değilsiniz, artık daha fazla çalışmamalarına rağmen, VBoxManage ve VirtualBox GUI kullanarak bunları çalıştırabilirsiniz.

+0

Ayrıca, diğer dosyaları (box-disk1.vmdk box.ovf Vagrantfile) sanal kutuya/alt dizine taşımalısınız. –

0

Bu sürümler arasında vagrant dizin yapısının biçimi değişti. Sanal kutu adında bir alt dizin ekler ve ardından '{"sağlayıcı": "sanal kutu"} gibi içeriğe metadata.json dosyası eklersiniz.

İşte bunu otomatik olarak yapmak için bash komut dosyası içeren bir özniteliktir ve değişiklikleri ekranınıza yazdırır.

wget -q -O - https://gist.github.com/xrd/6055536/raw/8398322313a7e8a60ee8f9ad4d6a87d50ee55b8d/gistfile1.txt | bash 

çıktı zaten ne vardı dönmek istemeleri durumunda, değişiklikleri tersine çevirmek için aslında çalıştırılabilir olduğunu.

Bu

tüm yardımcı olabilir bir blog yazısında ayrıntılı:

Upgrading vagrant boxes to 1.2

+0

Cevabınızı gönderdiğiniz için teşekkür ederiz! Lütfen cevabın bu kısmındaki önemli kısımlarını bu sitede veya postalama risklerinizin silinmesi gerektiğini unutmayın. ['Linkten biraz daha fazlası' olan cevaplardan bahsettiği SSS bölümüne bakınız.] (Http: // stackoverflow. com/faq # deletion) İsterseniz bağlantıyı yine de ekleyebilirsiniz, ancak sadece 'referans' olarak. Cevap, bağlantıya ihtiyaç duymadan kendi başına kalmalıdır. – Taryn

İlgili konular