'Homestead' adında bir VirtualBox makinesi zaten mevcut


112

Homestead 2.0 homestead laravel çalışmadığından beri

'Homestead init'in proje dizininde değil de mydirectory / .homestead'de neden bir Homestead.yaml dosyası oluşturduğunu bilmiyorum. Homestead up OR Vagrant up aşağıdaki mesajı oluştur

'Homestead' adında bir VirtualBox makinesi zaten var.

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.

1
Bu, Vagrant ve / veya VirtualBox'a bilgi vermeden doğrudan dosya sisteminden sildiğinizde meydana gelebilir. Silinmesi VBoxManage list vmsgereken bir hayalet / öksüz / zombi girişi olup olmadığını deneyin ve görün.
MarkHu

Çiftlik evine
John_911

Yanıtlar:


276

vboxmanageVM'nin kimliğini almak için kullanarak çözdüm.

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

İstenen VM'nin kimliğini ( c700…db18dizi) içeriğine kopyalayın ~/.vagrant/machines/default/virtualbox/id. Dosyayı kaydedin ve ardından vagrant upvm'nin imha etmek zorunda kalmadan çalışmasını sağlamak için çalıştırın .


22
Cevabınız kabul edilmelidir! Bazılarının önerdiği gibi, bir makineyi yok etmeden sorunu çözdünüz
Nisic Jovan

17
Sadece nota, eğer farklı aracılığıyla kutusunu adlı eğer define(benim gibi), sonra yol olmayacaktır ../default/ ONUN: .vagrant/machines/<box name>/virtualbox/id. #profit!
Ian Vaughan

7
Bir cazibe gibi çalıştı. Sadece vm kimliğimin neden aniden değiştiğini merak ediyorum ve bu kesinlikle gerekliydi.
Chris

7
Geliştirme ortamımda, id dosyası aynı yoldaydı, ancak projenin kökündeydi. Project-root / .vagrant / machines / default / virtualbox / id
Guillermo Maschwitz'de

23
Benim için .vagrantklasör ~/homestead kurulum klasöründeydi (yani çalıştırdığınız klasör vagrant up)
andrewtweber

75

Benim için, makine VirtualBox uygulamasında aktif bir VM olarak görünmüyordu. Düzeltmek için şunu yapmam gerekiyordu:

vagrant global-status

Bu bana imha etmem gereken makinenin kimliğini verdi. ID ile şunu çalıştırın:

vagrant destroy {VM ID}

Makineyi gerçekten yok etmek için bunu sudo'da çalıştırmak zorunda kaldım. O noktada koşabildim

vagrant up


Evinizin kutusu bozuksa, zaten çalışmıyorsa, bu sizin için cevaptır. VirtualBox çalıştıran Ubuntu 14.02'de doğrulandı.
Dylan Pierce

Bu yararlıdır çünkü size serseri sanal makinelerin çalıştırıldığı dizini gösterir
Mladen Janjetovic

Komut vagrant destroy vm_idaynı dizinden çalıştırılmalıdır.
Amr


41

Aşağıdaki mesajdan:

' Vm_name ' adında bir VirtualBox makinesi zaten var. Lütfen başka bir ad kullanın veya mevcut ada sahip makineyi silin ve tekrar deneyin.

Mevcut çalışan sanal makineleri komut satırından listeledim:

VBoxManage list vms

Sonuç:

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

Ardından rahatsız edici sanal makinenin kaldırılmasıyla devam edildi:

VBoxManage unregistervm 8ba467b7-da96-4f68-9bf8-671dd6f0d007 --delete


1
VirtualBox VM hala çalışıyorsa bunun işe yaramayacağını unutmayın. Sanal makinenin kapatılması gerekir, aksi takdirde "sanal makine kilitlendiğinden" komut başarısız olur.
Noah Sussman

4
Evet ve komut poweroff olacaktır. Benim için neyin işe yaradığının özeti: vboxmanage list vms, vboxmanage controlvm <id> poweroff, vboxmanage unregistervm <id> --delete
dvsander

27

Bu konuda partiye biraz geç kaldım, ancak bu sorunu yaşayan başka biri için SergioPeluzzi en yakınına geldi, ancak bununla puro alamadı:

Vb.name = settings ["name"] = "homestead" satırını arayın ve "homestead", "HOMESTEAD" ve "vói lá" olarak değiştirildi

Satır aslında:

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

Ayarlar ["ad"] yazan bitten de görebileceğiniz gibi, Homestead YAML dosyanıza bir ad alanı eklemeniz yeterlidir, örn.

memory: 2048
cpus: 1
provider: virtualbox
name: my-sexy-homestead-box

6
Birden fazla Homestead örneğini gerçekten yükleyip kullanıyorsanız , bu en iyi yanıttır .
lintuxvi

1
@Lintuxvi'ye katılıyorum, birden fazla Homestead örneğiyle çalışıyorsanız bu en iyi yanıttır
Abdul Rahman A Samad

1
Anahtar şu name: my-sexy-homestead-box- Teşekkürler!
Artistan

Uzakta en iyi cevap!
sdespont

16

Bu düzenlemeyi çözdüm /Homestead_folder/scripts/homestead.rb

Aramak vb.name = settings["name"] = "homestead"hattı ve değiştirilemez homesteadiçin HOMESTEADve "Voi lá" Benim için çalıştı.


Bu gördüğüm en iyi cevap.
Ousmane Traore

Bu çalışıyor. Bu dosyada tüm kayıtları vb.name = settings ['name']
arayın


14

Homestead.yaml'i düzenledim ve bunun için yeni bir isim ekledim

ip: "192.168.10.10"
memory: 2048
cpus: 4
provider: virtualbox
name: my-new-homestead-box-name

Bunu yapmanın doğru yolu budur. homestead.rb config ilk olarak homestead.yaml'de isim değişkenini arar
Sjshovan

Başka bir çiftliği çalıştırmaya çalışıyordum. Bu kadar kolay olacağını hiç düşünmemiştim. Homestead.yaml'a bir isim eklemeniz yeterli
Apit John Ismail

1
Bu gerçekten kabul edilen ve uygulanması en kolay cevap olmalıdır.
Casper Wilkes

9

Projemde hataya neden olan eski bir .vagrant dizinim vardı :)

Bu sizin için düzeltmezse, VirtualBox'ı açmanızı ve tüm VirtualBox'ları kaldırmanızı ve tekrar denemenizi öneririm.


2
İşte buydu. "Serseri kutusu güncellemesi" yaptıktan sonra, o .vagrant dizinini kaldırmam ve serseriyi yeniden çalıştırmam gerekti.
ecairol

8

Bugün aynı sorunu yaşadım. Çözümü bulmak için birkaç saat harcayın. Herhangi bir nedenle çıkan sanal makinelerin listesini bulamazsanız, terminali yazın.

sudo virtualbox

Bu, GUI'de Virtual Box'ı çalıştıracaktır. VM'lerin tam listesini görmeli ve buradan onları yönetebileceksiniz. Yalnızca "sanal kutu" yazmak hiçbir şey göstermez. Kök (yönetici) olmanız gerekir.

Bahşiş için mightyspaj'a teşekkürler.


1
OS X'te normal sanal kutu uygulamasını kullanarak, bana zaten var olduğu söylenmiş olmasına rağmen listede herhangi bir VM göremedim. Sonra sudo virtualbox yazdım ve bir yığın VM gördüm ve sorun çözüldü. Teşekkür ederim.
Dwayne Charrington

VirtualBox ile asla sudo kullanmayın. İzinleri mahvedeceksin
Wistar

7

"Homestead destory" ve "serseri yok etme" yi çalıştırdıktan sonra bile aynı hata mesajını alıyordum. Seninle aynı, VirtualBox sağlayıcısını, serseri ve çiftliği kullanıyordum. İşte yaptığım şey:

  1. VirtualBox GUI açıldı. VM olarak "homestead" görüyorum ama kaldıramıyorum, düğme gri.
  2. İşletim sistemimden çıkış yaptım, tekrar giriş yaptım ve VirtualBox'ı yeniden açtım. Durum artık "iptal edildi" ve kaldırabiliyorum.
  3. İçinde bazı artık dosyalar vardı ~/VirtualBox\ VMs/homestead, ben de koştumrm -r /Users/gabriel/VirtualBox\ VMs/homestead
  4. Artık "homestead up" çalıştırabiliyorum

6

VirtualBox'ı açtım ve daha önce oluşturulan homestead vm'yi sildim. Yardımcı oldu.


5

serseri kutu listesi

serseri kutusu laravel / homestead kaldırmak

serseri küresel statü

serseri ismini yok et

VirtualBox'ınızı açın ve çiftliğinizin tüm ürünlerini silin

serseri


4

VirtualBox GUI'yi açın. Sanal makinenize bakın ve kaldırın. Sorunumu çözdü.


3

Bazen eski kutuyu silmek istemeyebilirsiniz. Dün eski Vagrant bozulmuş olabilir, Vagrant ve Virtualbox'ı güncelledim ancak klasör eşlemesi çalışmadı. Yeni kutu çalıştırmak istedim ve bu hatayı aldım.

Eski kutuyu kaldırmak istemedim (çünkü bazı yedeklemeleri çalıştırmak istedim) ama yeni kutu çalıştırmak istedim. Çözüm, VirtualBox çalıştırıyordu, Homestead makinesine sağ tıklayın ve Ayarlar'ı seçin ve ardından adı olarak homesteaddeğiştirin homestead_old.

Bundan sonra homestead'i kurabildim, ancak bu eski makineye sahiptim ve ihtiyacım olan yedeklemeleri yapmak için bunu da çalıştırabilirdim.

Virtualbox'ta Homestead değişikliği adı


3

Windows Kullanıcısı iseniz, C:\Users\<Username>\VirtualBox VMs\homesteadklasörü sildiğinizden emin olun . Çünkü hala homestead adında bir klasör varsa, eylemi vagrant uptamamlanmayacaktır.


1
Benim durumumda iki klasörüm vardı: homestead ve homestead-7. Her ikisini de sildikten sonra sorun çözüldü. Teşekkürler!
eleftrik

3

Bunların hiçbiri benim için işe yaramadı. Eski bir geliştirme makinesi kullanıyordum

Denedim:

  1. vagrant global-status> idİhtiyaç duymadığınız veya çelişkili olanı eşleştirmediğinizi yok edin

  2. sanal kutuyu açın ve ihtiyacınız olmayan veya çakışan herhangi biri için dosyaları kaldırın + silin

Ne işe yaradı:

  • ~/.vagrant/machines/veya ~/.vagrant.d/boxesklasörünüzü bulun . Benim durumumda, çakışan vm'yi ve ayrıca 1 ve 2 adımlarının herhangi bir nedenle kaldırmadığı bir grup eski vm makinesini içeriyordu.

  • bunları temizledikten sonra, nihayet her şey tekrar iyi çalıştı!


Çakışan VM'nin kaldırılması / temizlenmesi uygunsa bu harika bir cevaptır. Klasör ~/.vagrant.d/boxes/@ wired00 olduğu için bu cevap değiştirilmelidir
lintuxvi

@lintuxvi az önce eklendi :)
wired00

Teşekkürler! Benim için sorunu çözdü!
VivekP

2

Makinenizi bozmadan ve yeniden oluşturmadan saklamak istiyorsanız, aşağıdaki adımlar sorununuzu çözmelidir. (OS X El Captain, Vagrant 1.8.1 üzerinde çalışıyorum)

Homestead'i hata ayıklama modunda çalıştır

homestead --debug up

Çıktıdaki gibi bir şey arayın:

BİLGİ makinesi: Başlatma makinesi: varsayılan BİLGİ makinesi: - Sağlayıcı: VagrantPlugins :: ProviderVirtualBox :: Sağlayıcı BİLGİ makinesi: - Kutu: # BİLGİ makinesi: - Veri dizini: /Users/YOUR_HOME_DIR/Workspace/Homestead/.vagrant/machines/default/ virtualbox

Data dizini , sizin için ilginç olan yoldur.

Sonra vboxmanage list vms

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

Düzenleme kimliği önceki komuta öğrendim yolunda dosya,

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

Bu dosyanın içeriğini düzeltmek istediğiniz sanal makinenin kimliğiyle değiştirin, bu senaryoda

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

Şimdi dene

homestead up

VM önyüklemeye başlamalıdır. Çalışabilir veya ssh kimlik doğrulamasıyla ilgili sorunlarınız olabilir

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...

Bunu düzeltmek için Homestead SSH yapılandırmasını kontrol edin

homestead ssh-config

Gibi bir şey almalısın

Ana bilgisayar varsayılan Ana Bilgisayar
Adı 127.0.0.1 Kullanıcı serseri Bağlantı Noktası 2222 UserKnownHostsFile / dev / null StrictHostKey
Parola
Kimlik Doğrulama yok KimlikDosyası "/Users/pryznar/.vagrant.d/insecure_private_key"
KimliklerOnly evet LogLevel FATAL

IdentityFile dosyasını düzenle

/Users/YOUR_HOME_DIR/.vagrant.d/insecure_private_key

Homestead.yml adresini kontrol edin

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

Ardından, anahtar anahtarlarının altındaki dosyanın yolunu kopyalayın ve bu dosyadan özel anahtarı kopyalayın

cat ~/.homestead/ssh/id_rsa

Son adım, /Users/YOUR_HOME_DIR/.vagrant.d/insecure_private_key içindeki özel anahtarı kopyaladığınızla değiştirmektir.

Şimdi tekrar çiftliği deneyin, çalışmalıdır.

homestead up

Bazı uyarılar aldım ama şu ana kadar sorunsuz çalışıyor

==> varsayılan: Uyarı: Komut satırı arayüzünde parola kullanmak güvensiz olabilir. ==> varsayılan: HATA 1045 (28000): 'homestead' @ 'localhost' kullanıcısı için erişim reddedildi (şifre kullanılarak: YES) SSH komutu sıfır olmayan bir çıkış durumu ile yanıt verdi. Vagrant bunun komutun başarısız olduğu anlamına geldiğini varsayar. Bu komutun çıktısı yukarıdaki günlükte olmalıdır. Lütfen neyin yanlış gittiğini belirlemek için çıktıyı okuyun.


2

VirtualBox GUI'yi açabilir ve çakışan sanal makineyi kaldırabilirsiniz.


1

Benim durumumda aşağıdaki makale çözümü sağlıyor. Soruna neden olan / var / root / VirtualBox VMs / yolunda homestead adında bir klasör vardı. Bu klasör kaldırıldıktan sonra, rm -r homestead , sorun çözüldü. Bu yolu göremiyorsanız veya erişemiyorsanız, terminal pencerelerinizde aşağıdaki komutları yürütün:

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

Ve homestead klasörünü silmeye devam edin .


1

Şu hatayı aldım:

Hata :

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.

Çözüm :

  • Benim durumumda VirtualBox VMS klasörünü bulun~/VirtualBox VMs
  • Klasördeki öğeleri şununla listeleyin: ls komutla sanal makinenin orada olup olmadığını gözden geçirin
  • Benim durumumda homestead-7 makinenin adını taşıyan klasörü sil
  • vagrant upHomestead klasöründeki komutu yeniden çalıştırın

Hepsi bu, umarım yardımcı olur, bu benim çözümümdü.

Saygılarımızla!


0

Birkaç saatlik sorun giderme işleminden sonra, kimse bu küçük ayrıntıdan bahsetmediği için benim için başka hiçbir şey işe yaramadı.

Kurulum sırasındaki ayrıcalıklarınıza bağlı olarak, virtualbox'ı yönetici olarak çalıştırmanız gerekebilir. Sanal makineler listesinde serseri kutularımı sadece bunu yaptığımda gördüm.

Daha sonra isimli sanal makinemi sanal homesteadkutudan kaldırmaya başladım ve sorun çözüldü.


0

Windows'ta homestead kullanıyorsanız, Oracle VM VirtualBox'ınızı açın ve homesteadVM'yi silin .


0

Vagrant, VirtualBox'a (varsayılan sağlayıcı ise) güvenir, bu nedenle VM'nizi sağlamadan önce mevcut ortamı kontrol eder.

Aşağıdaki komutu yürütmektedir:

VBoxManage list vms

ve aynı ana bilgisayar adına sahip sanal makineyi bulduğunda başarısız olur.

Şu şekilde hata ayıklayabilirsiniz:

vagrant --debug up

kesin sebebini bulmak için.


Çözüm

Farklı klasörlerde birden fazla VM kullanmayı planlıyorsanız, o zaman config.vm.hostname(muhtemelen config.vm.provider(name)de)Vagrantfile onu benzersiz kılmak için . Veya basitçe kaldırın, böylece Vagrant her VM için farklı bir ad atayacaktır.

Durum bu değilse, aşağıdakileri çalıştırarak çakışan önceki sanal makineyi kapatın ve kaydını kaldırın:

VBoxManage controlvm NAMEOFVM poweroff
VBoxManage unregistervm NAMEOFVM --delete

ve yeniden çalıştırın vagrant up.

Dizinin yeniden adlandırılmasında başarısız olursa (kaçırdığınız için --delete), hedef klasörü yeniden adlandırın veya kaldırın, örneğin:

rm -fr ~/"VirtualBox VMs/NAMEOFVM"

ve yeniden deneyin.


Bu sorun şununla ilgili olabilir: GitHub sorunu # 2969 - daha önce çalıştırılan bir sanal makineyi algılamıyor


0

Benim durumumda, bu hata mesajının yanı sıra VM'nin "zaten var olduğunu" gösteren hiçbir şey yoktu. VirtualBox kullanıcı arayüzünde hiçbir şey, "vboxmanage list vms" tarafından döndürülen hiçbir şey, "serseri genel durum" aracılığıyla hiçbir şey, ".vagrant.d \ kutuları" ve benzeri yerlerde mevcut değildi. VM VirtualBox Manager'da aynı isimli yeni bir VM'yi manuel olarak oluşturarak (“yeni” düğmesini kullanarak + tüm varsayılanları kabul ederek) ve sonra kaldırarak (sağ tıklama> kaldır) sorunu çözdüm. Bundan sonra, "serseri yukarı" beklendiği gibi çalıştı.


0

Bugün aynı sorunu yaşadım. Windows 10. Yakın zamanda Homestead'i güncelledim, bu yüzden hata muhtemelen bundan kaynaklanıyordu. Ben her çalıştı destroy, up, silme klasörler, her neyse. Ne zaman koşmaya çalışsam vagrant up, bu tür hataları gösteriyordu. Çözüm? Güncellemeden sonra, Homestead'in kutuları proje klasörü adına göre adlandırdığını ve Homestead.yaml'ın tüm bu bilgileri içerdiğini fark ettim. Sadece Homestead Windows yapılandırmasını çalıştırdım vendor\\bin\\homestead makeve daha sonra vagrant up(tamamen temiz olduğundan emin olmadan önce) ve işte, makine şimdi önyükleniyor gibi görünüyor. =) İhtiyacınız olursa deneyin.


0

Ekle --forcekutusuna sonra ve verilen adından önce.


2
Lütfen bu çözümün neden işe yarayacağını, ne işe yarayacağını ve nasıl çalışacağını açıklamak için yanıtınızı düzenleyin . Ayrıca İngilizcenizi resmileştirmeye değer (İngilizcenin muhtemelen ilk diliniz olmadığını takdir ediyorum), ancak cevabınızı bunu düzeltmek ve düzenlemek için düzenledim.
David, Monica'nın

0

Zaten var olan bir varsayılan sanal makineyi yeniden adlandırma

feragat

Aşağıdaki prosedür sanal makinenizi yok edecek ve yalnızca benimki gibi bir hedefleme ortamında uygun hale getirilebilir! Üretim ortamları için, burada açıklandığı gibi ilişkilendirmeyi onarmayı düşünün

Kullanarak zaten mevcut bir VM'nin varsayılan adını geçersiz kıldıktan sonra bu sorunu yaşadım

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

VirtualBox adının da ayarlandığı yer (acemi olarak Vagrand'ın da bu adı kullanacağını varsaydım)

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

Ekleyerek config.vm.defineo Serseri artık Serseri dosyası ile bile bu yana VirtualBox VM ilişkilendirme değil gibi görünüyor vagrant destroy -fdemek VM not createdama vagrant upbu hatayı atmak

'Ubuntu-Test' adında bir VirtualBox makinesi zaten var.

Bu zombi sanal makineyi silmek için
  1. Sanal makine çalışıyorsa, önce onu durdurun: vboxmanage shutdown <VMName>(İşte adı Ubuntu-Test)
  2. Kimliği çalıştırarak alın vboxmanage list vms
  3. Silin: vboxmanage unregistervm <Id> --delete
  4. Artık sanal makineniz kullanılarak yeniden oluşturulabilir vagrant up
  5. Kullanarak vagrant global-status --prune, yeni adınız mevcut

0

Benim için id dosyası aşağıda belirtilen konumda mevcuttu. D: \ drupalvm.vagrant \ makineleri \ drupalvm \ virtualbox


0

Windows 10

Homestead.yaml dosyasını düzenleyin ve kutuya yeni bir ad verin:

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

ve koş vagrant upya davagrant up --provision

Veya

GUI'de Virtualbx uygulamasını açın ve soruna neden olan tüm sanal kutuyu silin ve yukarıdaki komutu çalıştırın.

Veya

Homestead klasöründeki "Vagrant" dosyasını silin ve yukarıdaki komutu çalıştırın.


0

Sadece anahtarı eklemek zorunda namesenin için homestead.yamldoğru böyle sağlayıcıya sonra dosyanın:

name: name_of_you_machine

Bu benim için çalışıyor.

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.