Mesin VirtualBox dengan nama 'homestead' sudah ada

112

Sejak homestead 2.0 homestead laravel belum berfungsi

Saya tidak tahu mengapa 'homestead init' membuat file Homestead.yaml di mydirectory / .homestead dan bukan di direktori proyek. Homestead up ATAU Gelandangan buat pesan berikut

Mesin VirtualBox dengan nama 'homestead' sudah ada.

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'laravel/homestead'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'laravel/homestead' is up to date...
A VirtualBox machine with the name 'homestead' already exists.
Please use another name or delete the machine with the existing
name, and try again.
Matt Doran
sumber
1
Ini dapat terjadi ketika Anda menghapus langsung dari sistem file tanpa memberi tahu Vagrant dan / atau VirtualBox. Coba VBoxManage list vmsdan lihat apakah ada entri hantu / yatim piatu / zombie yang perlu dihapus.
MarkHu
Untuk jawaban khusus wisma - lihat jawaban dari @TheSteed
John_911

Jawaban:

276

Saya memecahkannya dengan menggunakan vboxmanageuntuk mendapatkan ID VM.

$ vboxmanage list vms
"my-vm" {c700b8b6-b766-4638-871b-736b44b7db18}

Salin ID dari VM yang diinginkan ( c700…db18string) ke dalam konten ~/.vagrant/machines/default/virtualbox/id. Simpan file kemudian jalankan vagrant upagar vm berfungsi tanpa harus menghancurkannya.

fiorebat
sumber
22
Jawaban Anda harus diterima! Anda memecahkan masalah tanpa merusak mesin, seperti yang disarankan beberapa orang lain
Nisic Jovan
17
Hanya untuk catatan, bahwa jika Anda bernama komputer anda berbeda melalui define(seperti saya), maka jalan tidak akan ../default/ , yang: .vagrant/machines/<box name>/virtualbox/id. #keuntungan!
Ian Vaughan
7
Bekerja seperti pesona. Hanya ingin tahu mengapa id vm saya tiba-tiba berubah dan ini diperlukan sama sekali.
Chris
7
Di lingkungan dev saya, file id berada di jalur yang sama, tetapi di root proyek. Di project-root / .vagrant / Machines / default / virtualbox / id
Guillermo Maschwitz
23
Bagi saya .vagrantfolder itu tidak ada di ~/vagrant up
dalamnya,
75

Bagi saya, mesin tidak muncul sebagai VM aktif di aplikasi VirtualBox. Untuk memperbaikinya, saya harus melakukan ini:

vagrant global-status

Ini memberi saya ID dari mesin yang perlu saya hancurkan. Dengan ID tersebut, jalankan:

vagrant destroy {VM ID}

Saya harus menjalankannya di sudo untuk benar-benar menghancurkan mesin. Pada saat itu, saya bisa lari

vagrant up

Joey
sumber
Jika kotak wisma Anda rusak, belum berjalan, ini adalah jawaban untuk Anda. Diverifikasi di Ubuntu 14.02 menjalankan VirtualBox.
Dylan Pierce
Ini berguna karena ini menunjukkan direktori menjalankan VM gelandangan
Mladen Janjetovic
Perintah vagrant destroy vm_idharus dijalankan dari dalam direktori yang sama.
Amr
41

Dari pesan berikut:

Mesin VirtualBox dengan nama ' vm_name ' sudah ada. Harap gunakan nama lain atau hapus mesin dengan nama yang ada, dan coba lagi.

Saya mencantumkan mesin virtual yang sedang berjalan dari baris perintah:

VBoxManage list vms

Hasil:

"vm_name" { 8ba467b7-da96-4f68-9bf8-671dd6f0d007 }

Kemudian dilanjutkan dengan penghapusan mesin virtual yang melanggar:

VBoxManage unregistervm 8ba467b7-da96-4f68-9bf8-671dd6f0d007 --delete
Shaka Z.
sumber
8
Satu-satunya jawaban yang menunjukkan cara menghapus VM dari baris perintah
WorldSEnder
1
Perhatikan bahwa ini tidak akan berfungsi jika VirtualBox VM masih berjalan. VM harus dimatikan atau perintah akan gagal "karena VM terkunci".
Noah Sussman
4
Ya dan perintahnya akan mati. Ringkasan tentang apa yang berhasil untuk saya: daftar vboxmanage vms, vboxmanage controlvm <id> poweroff, vboxmanage unregistervm <id> --delete
dvsander
27

Saya agak terlambat ke pesta tentang hal ini, tetapi bagi siapa pun yang memiliki masalah ini SergioPeluzzi menjadi yang terdekat, tetapi tidak mengerti dengan ini:

Carilah baris vb.name = settings ["name"] = "wisma" dan ubah "wisma" menjadi "HOMESTEAD" dan "vói lá"

Garisnya sebenarnya:

vb.name = settings["name"] ||= "homestead"

Seperti yang Anda lihat dari bit yang mengatakan pengaturan ["nama"], Anda hanya perlu menambahkan bidang nama ke file YAML Homestead Anda, mis.

memory: 2048
cpus: 1
provider: virtualbox
name: my-sexy-homestead-box
TheSteed
sumber
6
Ini adalah jawaban terbaik jika Anda benar - benar menginstal dan menggunakan beberapa instance Homestead.
lintuxvi
1
Saya setuju dengan @lintuxvi, ini adalah jawaban terbaik jika Anda bekerja dengan beberapa instans Homestead
Abdul Rahman A Samad
1
Kuncinya adalah name: my-sexy-homestead-box- Terima kasih!
Artistan
Jauh sekali jawaban terbaik!
sdespont
16

Saya menyelesaikan pengeditan ini /Homestead_folder/scripts/homestead.rb

Carilah vb.name = settings["name"] = "homestead"baris dan ubah homesteadmenjadi HOMESTEADdan "vói lá" yang berhasil untuk saya.

SergioPeluzzi
sumber
Ini adalah jawaban terbaik yang pernah saya lihat.
Ousmane Traore
Ini bekerja. Cari file ini untuk semua catatan vb.name = pengaturan ['nama'] dan ubah sesuai
ottz0
lihat jawaban dari @TheSteed
John911
14

Saya mengedit Homestead.yaml dan menambahkan nama baru untuk itu

ip: "192.168.10.10"
memory: 2048
cpus: 4
provider: virtualbox
name: my-new-homestead-box-name
Michael Nguyen
sumber
Ini adalah cara yang benar untuk melakukannya. homestead.rb config pertama mencari variabel nama di homestead.yaml
Sjshovan
Saya mencoba menjalankan wisma lain. Tidak pernah terpikir akan semudah ini. Cukup tambahkan nama di Homestead.yaml
Apit John Ismail
1
Ini benar-benar harus menjadi jawaban yang diterima, dan paling mudah diterapkan.
Casper Wilkes
9

Saya memiliki direktori .vagrant lama di proyek saya yang menyebabkan kesalahan :)

Jika ini tidak memperbaikinya untuk Anda, saya sarankan untuk membuka VirtualBox dan menghapus semua VirtualBox dan mencoba lagi.

Matt Doran
sumber
2
Itu dia. Setelah melakukan "pembaruan kotak gelandangan", saya harus menghapus direktori .vagrant itu dan menjalankan kembali gelandangan.
ecairol
8

Saya memiliki masalah yang sama hari ini. Luangkan beberapa jam untuk menemukan solusinya. Jika karena alasan apa pun Anda tidak dapat menemukan daftar mesin virtual yang keluar, ketik terminal

sudo virtualbox

Ini akan menjalankan Virtual Box di GUI. Anda akan melihat daftar lengkap VM dan dari sana Anda dapat mengelolanya. Mengetik "kotak virtual" saja tidak akan menampilkan apa pun. Anda harus menjadi root (administrator).

Terima kasih untuk mightyspaj atas tipnya.

Vesaka
sumber
1
Dengan menggunakan aplikasi virtualbox biasa di OS X, saya tidak dapat melihat VM apa pun dalam daftar meskipun saya diberi tahu bahwa VM itu sudah ada. Kemudian saya mengetik sudo virtualbox dan melihat seluruh tumpukan VM dan masalahnya telah diperbaiki. Terima kasih.
Dwayne Charrington
Jangan pernah menggunakan sudo dengan VirtualBox. Anda akan mengacaukan izin
Wistar
7

Saya menerima pesan kesalahan yang sama, bahkan setelah menjalankan "homestead destory", dan "vagrant destroy". Sama seperti Anda, saya menggunakan penyedia VirtualBox, gelandangan, dan wisma. Inilah yang saya lakukan:

  1. Membuka GUI VirtualBox. Saya melihat "wisma" sebagai VM, tetapi saya tidak dapat menghapusnya, tombol berwarna abu-abu.
  2. Saya keluar dari OS saya, masuk kembali dan membuka kembali VirtualBox. Status sekarang "dibatalkan" dan saya dapat menghapusnya.
  3. Ada beberapa file sisa ~/VirtualBox\ VMs/homestead, jadi saya menjalankanrm -r /Users/gabriel/VirtualBox\ VMs/homestead
  4. Saya sekarang bisa menjalankan "homestead up"
gabrielfreiberg.dll
sumber
6

Saya membuka virtualBox dan kemudian menghapus homestead vm yang telah dibuat sebelumnya. Itu membantu.

pikiran az
sumber
5

daftar kotak gelandangan

kotak gelandangan hapus laravel / wisma

status global gelandangan

gelandangan menghancurkan nameOfYourBox

Buka VirtualBox Anda dan hapus semua itens dari rumah Anda

gelandangan

Clayton KN Passos
sumber
4

Buka GUI VirtualBox. Lihat VM Anda dan hapus. Itu memecahkan masalah saya.

Omkar Achrekar
sumber
3

Terkadang Anda mungkin tidak ingin menghapus kotak lama. Kemarin mungkin Gelandangan tua telah rusak, saya telah memperbarui Vagrant dan Virtualbox tetapi pemetaan folder tidak berfungsi. Saya ingin menjalankan kotak baru dan mengalami kesalahan ini.

Saya tidak ingin menghapus kotak lama (karena saya ingin menjalankan beberapa backup) tetapi saya ingin menjalankan kotak baru. Solusinya menjalankan VirtualBox, klik kanan pada mesin Homestead dan pilih Pengaturan dan kemudian ubah nama dari homesteadmenjadi homestead_old.

Setelah itu saya dapat menginstal homestead tetapi memiliki mesin lama ini dan juga dapat menjalankan ini untuk membuat cadangan yang saya butuhkan.

Ganti nama Homestead di Virtualbox

Marcin Nabiałek
sumber
3

Jika Anda adalah Pengguna Windows, pastikan Anda menghapus C:\Users\<Username>\VirtualBox VMs\homesteadfolder. Karena jika masih ada folder bernama homestead, aksi vagrant uptidak akan selesai

Paris Qian Sen.
sumber
1
Dalam kasus saya, saya memiliki dua folder: wisma dan wisma-7. Setelah menghapus keduanya, masalah terpecahkan. Terima kasih!
eleftrik
3

Semua ini tidak berhasil untuk saya. Saya menggunakan mesin dev lama

Saya mencoba:

  1. vagrant global-status> hancurkan apa pun idyang tidak Anda perlukan atau cocokkan dengan apa yang bertentangan

  2. buka virtualbox dan hapus + hapus file yang tidak Anda perlukan atau bentrok

Apa yang berhasil:

  • cari folder ~/.vagrant/machines/atau Anda ~/.vagrant.d/boxes. Dalam kasus saya, itu berisi vm yang bertentangan dan juga sekumpulan mesin vm lama yang tersisa yang langkah 1 & 2 tidak dihapus karena alasan tertentu.

  • setelah menyelesaikan ini, semuanya bekerja dengan baik lagi, akhirnya!

kabel00
sumber
Ini adalah jawaban yang bagus jika VM yang berkonflik tidak masalah untuk dihapus / dibersihkan. Jawaban ini harus diubah sekarang karena foldernya adalah ~/.vagrant.d/boxes/@ wired00
lintuxvi
@lintuxvi baru saja menambahkan :)
wired00
Terima kasih! Memecahkan masalah untuk saya!
VivekP
2

Jika Anda ingin mempertahankan mesin Anda, tanpa merusak dan membuat ulang langkah-langkah berikut akan menyelesaikan masalah Anda. (Saya bekerja di OS X El Captain, Vagrant 1.8.1)

Jalankan homestead dalam mode debug

homestead --debug up

Cari sesuatu seperti di output:

Mesin INFO: Inisialisasi mesin: mesin INFO default: - Penyedia: VagrantPlugins :: ProviderVirtualBox :: Mesin INFO Penyedia: - Kotak: # Mesin INFO: - Data dir: /Users/YOUR_HOME_DIR/Workspace/Homestead/.vagrant/machines/default/ virtualbox

Data dir , adalah jalur yang menarik bagi Anda.

Kemudian vboxmanage list vms

"homestead" {0e8438b9-4a67-4fb1-80cb-2c62cf04ab5c} "settler_default_1447385930122_73498_1474294682778_13108" {93ecb93f-f159-4406-a384-5312b4d3ab34}

Edit file id , di jalur yang Anda temukan di perintah sebelumnya

vi /Users/YOUR_HOME_DIR/Workspace/Homestead/.vagrant/machines/default/virtualbox/id

Ganti konten file itu, dengan id VM yang ingin Anda perbaiki, dalam skenario ini

0e8438b9-4a67-4fb1-80cb-2c62cf04ab5c

Sekarang coba

homestead up

VM harus mulai melakukan booting. Ini mungkin berhasil, atau Anda mungkin memiliki masalah dengan otentikasi ssh

default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Authentication failure. Retrying...     default: Warning: Authentication failure. Retrying...

Untuk memperbaikinya lakukan mengikuti konfigurasi Periksa Homestead SSH

homestead ssh-config

Anda harus mendapatkan sesuatu seperti

Host default HostName 127.0.0.1 Port vagrant pengguna 2222
UserKnownHostsFile / dev / null StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile "/Users/pryznar/.vagrant.d/insecure_private_key"
IdentitiesOnly yes LogLevel FATAL

Edit file IdentityFile

/Users/YOUR_HOME_DIR/.vagrant.d/insecure_private_key

Periksa Homestead.yml

cat /Users/YOUR_HOME_DIR/.homestead/Homestead.yaml

Kemudian salin jalur ke file di bawah kunci kunci , dan salin kunci pribadi dari file itu

cat ~/.homestead/ssh/id_rsa

Langkah terakhir adalah mengganti kunci pribadi di /Users/YOUR_HOME_DIR/.vagrant.d/insecure_private_key dengan yang baru saja Anda salin

Sekarang coba wisma anak tangga lagi, harus bekerja.

homestead up

Saya mendapat beberapa peringatan, tetapi sejauh ini berfungsi tanpa masalah

==> default: Peringatan: Menggunakan kata sandi pada antarmuka baris perintah bisa jadi tidak aman. ==> default: ERROR 1045 (28000): Akses ditolak untuk pengguna 'homestead' @ 'localhost' (menggunakan kata sandi: YES) Perintah SSH merespon dengan status keluar bukan nol. Gelandangan berasumsi bahwa ini berarti perintah gagal. Output untuk perintah ini harus ada di log di atas. Harap baca hasilnya untuk mengetahui apa yang salah.

Pawel Ryznar
sumber
2

Anda dapat membuka GUI VirtualBox dan menghapus mesin virtual yang berkonflik.

Bitclaw
sumber
1

Dalam kasus saya, artikel berikut memberikan solusinya. Ada folder bernama homestead di dalam jalur / var / root / VirtualBox VMs / yang menyebabkan masalah. Setelah folder ini dihapus, rm -r homestead , masalah telah teratasi. Jika Anda tidak dapat melihat atau memiliki akses ke jalur ini, jalankan perintah berikut di jendela terminal Anda:

$ sudo -s 
$ cd /var/root/VirtualBox\ VMs

Dan lanjutkan untuk menghapus folder wisma .

James
sumber
1

Saya mengalami kesalahan berikut:

Kesalahan :

A VirtualBox machine with the name 'homestead-7' already exists.
Please use another name or delete the machine with the existing
name, and try again.

Solusi :

  • Temukan folder VirtualBox VMS , dalam kasus saya folder itu ada di~/VirtualBox VMs
  • Buat daftar elemen dalam folder dengan lsperintah, dan tinjau apakah mesin virtual ada di sana
  • Hapus folder dengan nama mesin, dalam kasus saya homestead-7
  • Jalankan ulang vagrant up perintah di folder wisma

Sekian, semoga bermanfaat, itulah solusi saya.

Salam!

Radames E. Hernandez
sumber
0

Setelah beberapa jam pemecahan masalah, tidak ada yang berhasil untuk saya, karena tidak ada yang menyebutkan detail kecil ini.

Bergantung pada hak istimewa Anda pada saat penginstalan, Anda mungkin perlu menjalankan virtualbox sebagai administrator. Hanya ketika saya melakukan ini, saya melihat kotak gelandangan saya di daftar mesin virtual.

Saya kemudian melanjutkan untuk menghapus mesin virtual saya yang diberi nama homesteaddari virtualbox, dan masalahnya teratasi.

dspacejs
sumber
0

Jika Anda menggunakan homestead di Windows, cukup buka Oracle VM VirtualBox Anda dan hapus homesteadVM.

Jonathan
sumber
0

Vagrant mengandalkan VirtualBox (jika itu adalah penyedia default) sehingga Vagrant memeriksa lingkungan yang ada terlebih dahulu sebelum menyediakan VM Anda.

Itu sedang menjalankan perintah berikut:

VBoxManage list vms

dan ketika menemukan VM dengan nama host yang sama, maka itu akan gagal.

Anda dapat men-debugnya dengan:

vagrant --debug up

untuk mengetahui alasan pastinya.


Larutan

Jika Anda berencana untuk menggunakan beberapa VM dalam folder yang berbeda, maka Anda perlu mengubah config.vm.hostname(mungkin config.vm.provider(name)juga) di fileVagrantfile untuk membuatnya unik. Atau hapus saja, sehingga Vagrant akan memberikan nama yang berbeda untuk setiap VM.

Jika bukan itu masalahnya, cukup matikan dan batalkan pendaftaran VM sebelumnya yang bentrok dengan menjalankan:

VBoxManage controlvm NAMEOFVM poweroff
VBoxManage unregistervm NAMEOFVM --delete

dan jalankan kembali vagrant up.

Jika gagal di rename direktori (karena terlewat --delete), maka rename atau hapus folder tujuan , misal:

rm -fr ~/"VirtualBox VMs/NAMEOFVM"

dan coba lagi.


Masalah ini mungkin terkait dengan: Masalah GitHub # 2969 - gelandangan tidak mendeteksi VM yang dijalankan sebelumnya

kenorb
sumber
0

Dalam kasus saya, tidak ada yang menunjukkan bahwa VM "sudah ada" selain pesan kesalahan itu. Tidak ada apa pun di VirtualBox UI, tidak ada yang dikembalikan oleh "vboxmanage list vms", tidak ada yang melalui "status global gelandangan", tidak ada di ".vagrant.d \ boxes" dan seterusnya. Saya menyelesaikannya dengan secara manual membuat VM dengan nama yang sama baru di VM VirtualBox Manager (menggunakan tombol "baru" + menerima semua default), dan kemudian menghapusnya (klik kanan> hapus). Setelah itu, para “gelandangan” bekerja seperti yang diharapkan.

Jiri Jelinek
sumber
0

Saya memiliki masalah yang sama hari ini. Windows 10. Saya baru saja memperbarui Homestead, jadi kesalahan itu mungkin karena itu. Saya mencoba semuanya, destroy, up, folder delete, apa pun. Setiap kali saya mencoba menjalankan vagrant up, itu menunjukkan kesalahan semacam ini. Solusinya? Setelah memperbarui, saya perhatikan bahwa Homestead sekarang menamai kotak dengan nama folder proyek, dan Homestead.yaml memiliki semua info itu. Saya baru saja menjalankan konfigurasi Homestead Windows vendor\\bin\\homestead makedan kemudian mereka a vagrant up(sebelum memastikan semuanya bersih) dan voilá, sepertinya mesin sedang boot sekarang. =) Cobalah jika Anda membutuhkannya.

giovannipds
sumber
0

Tambahkan --forcekotak setelah, dan sebelum nama yang Anda berikan.

Harka Subba
sumber
2
Harap edit jawaban Anda untuk menjelaskan mengapa menurut Anda solusi ini akan berhasil, apa fungsinya dan bagaimana caranya. Juga perlu memformalkan bahasa Inggris Anda (meskipun saya menghargai bahwa bahasa Inggris mungkin bukan bahasa pertama Anda), meskipun saya telah mengedit jawaban Anda untuk mengoreksi dan merapikannya.
David mengatakan mengembalikan Monica
0

Mengganti nama VM default yang sudah ada

Penolakan

Prosedur berikut akan menghancurkan VM Anda dan mungkin hanya dapat disesuaikan di lingkungan tujuan seperti milik saya! Untuk lingkungan produksi, pertimbangkan untuk memperbaiki pengaitan seperti yang dijelaskan di sini

Saya mengalami masalah ini setelah mengganti nama default dari VM yang sudah ada dengan menggunakan

Vagrant.configure("2") do |config|
  config.vm.define :ubuntu_test

di mana nama VirtualBox juga ditetapkan (sebagai pemula saya berasumsi bahwa Vagrand akan menggunakan nama ini juga)

config.vm.provider "virtualbox" do |vb|
     vb.name = "Ubuntu-Test"
end

Dengan menambahkan config.vm.definetampaknya Vagrant tidak mengaitkan VM VirtualBox lagi dengan file Vagrant karena bahkan vagrant destroy -fmengatakan VM not createdtetapi vagrant upmembuang kesalahan ini

Mesin VirtualBox dengan nama 'Ubuntu-Test' sudah ada.

Untuk menghapus VM zombie itu
  1. Jika VM sedang berjalan, hentikan dulu: vboxmanage shutdown <VMName>(Ini namanyaUbuntu-Test )
  2. Dapatkan Id dengan menjalankan vboxmanage list vms
  3. Hapus: vboxmanage unregistervm <Id> --delete
  4. Sekarang VM Anda dapat dibuat ulang menggunakan vagrant up
  5. Menggunakan vagrant global-status --prune, nama baru Anda hadir
Singa
sumber
0

Bagi saya, file id ada di lokasi yang disebutkan di bawah ini. D: \ drupalvm.vagrant \ Machines \ drupalvm \ virtualbox

sneha surve
sumber
0

Windows 10

Edit file Homestead.yaml dan beri nama baru untuk kotak:

ip: "192.168.10.10"
memory: 2048
cpus: 2
provider: virtualbox
name: my-new-vbox      #new name for the box

dan lari vagrant upatauvagrant up --provision

Atau

Buka aplikasi Virtualbx di GUI dan hapus semua virtualbox yang menyebabkan masalah dan jalankan perintah di atas

Atau

Hapus file "Gelandangan" di dalam folder homestead dan jalankan perintah di atas.

Nava Bogatee
sumber
0

Anda hanya perlu menambahkan kunci nameke homestead.yamlfile Anda tepat setelah penyedia seperti ini:

name: name_of_you_machine

Itu berhasil untuk saya.

Cruzriga
sumber