Bisakah saya mengganti nama kotak Vagrant?

41

Saya salah mengeja nama kotak ketika saya menambahkannya ke daftar kotak saya:

vagrant box list
debian
ubnutu

Bisakah saya mengganti nama kotak tanpa mengemasnya kembali?

Roberto Aloi
sumber

Jawaban:

46

Anda cukup mengganti nama dir yang mewakili kotak. Jika file gelandangan Anda berada di dir default (yaitu /path/to/your/home/.vagrant.d) Anda bisa melakukannya:

mv vagrant_path/boxes/box_to_rename vagrant_path/boxes/new_box_name

Pastikan juga untuk mengubah Vagrantfile untuk menggunakan label baru untuk kotak tersebut. Anda hanya perlu mengubah config.vm.boxarahan untuk mencerminkan perubahan.

Tiago
sumber
Ini tidak berfungsi untuk saya - saya curiga ada file konfigurasi di suatu tempat yang perlu diperbarui juga. @ Saran sampai bekerja.
Adrian Mouat
@AdrianMouat: Hmm, bekerja untuk saya. Apakah Anda memiliki VM yang aktif berjalan dengan kotak yang dimaksud pada saat penggantian nama? Saya bisa membayangkan bahwa mungkin menyebabkan masalah, meskipun saya tidak benar-benar tahu itu atau mengapa itu akan terjadi. Apa hasil yang Anda dapatkan ketika Anda mencoba?
lindes-hw
@ lindes-hw Saya tidak tahu, itu 10 bulan yang lalu ...
Adrian Mouat
@AdrianMouat: cukup adil. Sebagian besar, saya hanya ingin agar komentar itu tidak ditanggapi, karena itu mengurangi (dalam benak saya) dari gagasan bahwa ini adalah jawaban yang benar, namun saya pikir itu benar. Namun, jika ada masalah nyata dengan itu, akan baik untuk mendengar tentang mereka - baik dari Anda, atau orang lain yang bertemu dengan mereka di masa depan.
lindes-hw
@ lindes-hw Mungkin relevan bahwa saya sedang berjalan di Mac OS. Saya tidak percaya saya telah secara aktif menjalankan VM pada saat itu; Saya pikir saya akan memeriksanya.
Adrian Mouat
12

Saya akan melakukan ini:

$ vagrant box repackage misspelled-name
[vagrant] Compressing package to: /Users/johndoe/package.box
$ vagrant box add correct-name /Users/johndoe/package.box
...

Lagipula ini bukan yang terburuk untuk diketahui, karena Anda dapat sering memperbarui kotak dasar (mis. Untuk memperbarui kernel, perangkat lunak dan tambahan tamu) untuk menghindari menjalankan semua pembaruan yang diperlukan ini setiap kali Anda vagrant up.

Sampai
sumber
Apakah saya tetap bisa menghapus file package.box ketika ini dilakukan?
Peter Hanley
1
@PeterHanley Yep. Setelah diimpor, tidak masalah untuk menyingkirkannya.
Hingga
2
Perhatikan bahwa ini akan memakan waktu lebih lama dari sekadar mengganti nama file yang mendasarinya, dan apakah banyak pekerjaan tambahan yang mungkin tidak diperlukan dalam sebagian besar (semua?) Kasus.
lindes-hw
@ lindes-hw dapatkah Anda menunjukkan cara yang lebih baik? Dan mengapa?
Felipe Alvarez