programing tip

이름이 'homestead'인 VirtualBox 머신이 이미 있습니다.

itbloger 2020. 8. 21. 07:23
반응형

이름이 'homestead'인 VirtualBox 머신이 이미 있습니다.


Homestead 2.0 이후 Homestead Laravel은 작동하지 않았습니다.

'homestead init'가 프로젝트 디렉토리가 아닌 mydirectory / .homestead에 Homestead.yaml 파일을 생성하는 이유를 모르겠습니다. Homestead up OR Vagrant up은 다음 메시지를 생성합니다.

이름이 'homestead'인 VirtualBox 머신이 이미 있습니다.

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.

vboxmanageVM의 ID를 얻기 위해 사용하여 해결했습니다 .

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

원하는 VM의 ID ( c700…db18문자열)를의 콘텐츠에 복사합니다 ~/.vagrant/machines/default/virtualbox/id. 파일을 저장 한 다음 실행 vagrant up하여 vm을 파괴하지 않고 작동하도록합니다.


나에게 머신은 VirtualBox 애플리케이션에서 활성 VM으로 표시되지 않았습니다. 수정하려면 다음을 수행해야했습니다.

vagrant global-status

이것은 내가 파괴해야하는 기계의 ID를 내게 주었다. ID로 다음을 실행하십시오.

vagrant destroy {VM ID}

나는 실제로 기계를 파괴하기 위해 sudo에서 실행해야했습니다. 그 시점에서 나는 실행할 수 있었다

vagrant up


아마도 가상 박스가 실행 중일 것입니다! 프로그램 virtualbox를 열고 다른 virtualbox를 종료 하십시오 .) http://smallbusiness.chron.com/shut-down-virtualbox-43657.html

이것이 작동하지 않으면 이전 홈스테드 폴더를 삭제하고 모든 프로젝트를 새 폴더에 배치 할 수 있습니다.)


다음 메시지에서 :

이름이 ' vm_name '인 VirtualBox 시스템이 이미 있습니다. 다른 이름을 사용하거나 기존 이름으로 기기를 삭제하고 다시 시도하십시오.

명령 줄에서 현재 실행중인 가상 머신을 나열했습니다.

VBoxManage list vms

결과 :

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

그런 다음 문제가되는 가상 머신 제거를 진행했습니다.

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

나는 이것에 대한 파티에 조금 늦었지만이 문제를 가진 다른 사람들을 위해 SergioPeluzzi가 가장 가까이 왔지만 이것으로 시가를 얻지 못했습니다.

vb.name = settings [ "name"] = "homestead"줄을 찾고 "homestead"를 "HOMESTEAD"및 "vói lá"로 변경했습니다.

라인은 실제로 다음과 같습니다.

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

설정 [ "이름"]이라는 비트에서 알 수 있듯이 Homestead YAML 파일에 이름 필드를 추가하면됩니다.

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

이 편집을 해결했습니다 /Homestead_folder/scripts/homestead.rb

대한 탐색 vb.name = settings["name"] = "homestead"라인 변경 homesteadHOMESTEAD"VOI 라" 나를 위해 일한 것을.


내 프로젝트에 오류를 일으킨 오래된 .vagrant 디렉토리가 있습니다. :)

이것이 해결되지 않으면 VirtualBox를 열고 모든 VirtualBox를 제거한 다음 다시 시도하는 것이 좋습니다.


오늘도 같은 문제가있었습니다. 해결책을 찾기 위해 몇 시간을 투자하십시오. 어떤 이유로 든 기존 가상 머신 목록을 찾을 수없는 경우 터미널을 입력하십시오.

sudo virtualbox

이것은 GUI에서 Virtual Box를 실행합니다. 전체 VM 목록이 표시되어야하며 여기에서이를 관리 할 수 ​​있습니다. "virtualbox"만 입력해도 아무것도 표시되지 않습니다. 루트 (관리자) 여야합니다.

팁에 대한 mightyspaj에게 감사드립니다.


"homestead destory"와 "vagrant destroy"를 실행 한 후에도 동일한 오류 메시지를 받았습니다. 당신과 마찬가지로 저는 VirtualBox 공급자, 방랑자 및 농가를 사용하고있었습니다. 내가 한 일은 다음과 같습니다.

  1. VirtualBox GUI를 열었습니다. "homestead"가 VM으로 표시되지만 제거 할 수 없으며 버튼이 회색으로 표시됩니다.
  2. 내 OS에서 로그 아웃하고 다시 로그인 한 다음 VirtualBox를 다시 열었습니다. 상태는 이제 "중단됨"이며 제거 할 수 있습니다.
  3. 에 일부 잔여 파일이있어서 ~/VirtualBox\ VMs/homestead실행했습니다.rm -r /Users/gabriel/VirtualBox\ VMs/homestead
  4. 이제 "홈스테드 업"을 실행할 수 있습니다.

Homestead.yaml을 편집하고 새 이름을 추가했습니다.

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

virtualBox를 열고 이전에 만든 homestead vm을 삭제했습니다. 도움이되었습니다.


VirtualBox GUI를 엽니 다. VM을 확인하고 제거하십시오. 그것은 내 문제를 해결했습니다.


때로는 오래된 상자를 삭제하고 싶지 않을 수도 있습니다. 어제 Vagrant가 고장 났을 수 있습니다. Vagrant 및 Virtualbox를 업데이트했지만 폴더 매핑이 작동하지 않았습니다. 새 상자를 실행하고 싶었는데이 오류가 발생했습니다.

일부 백업을 실행하고 싶었 기 때문에 이전 상자를 제거하고 싶지 않았지만 새 상자를 실행하고 싶었습니다. 솔루션은 VirtualBox를 실행하고 Homestead 컴퓨터를 마우스 오른쪽 버튼으로 클릭하고 설정을 선택한 다음 이름을 homestead에서 homestead_old.

그 후 저는 홈스테드를 설치할 수 있었지만이 오래된 머신을 가지고 있었고 필요한 백업을 만들기 위해 이것을 실행할 수도있었습니다.

Virtualbox에서 Homestead 이름 변경


Windows 사용자 인 경우 C:\Users\<Username>\VirtualBox VMs\homestead폴더 를 삭제해야 합니다. homestead라는 폴더가 아직 있으면의 작업 vagrant up이 완료되지 않기 때문에


컴퓨터를 유지하려면 다음 단계를 수행하여 파괴하고 다시 만들지 않고 문제를 해결해야합니다. (저는 OS X El Captain, Vagrant 1.8.1에서 작업합니다.)

디버그 모드에서 홈스테드 실행

homestead --debug up

출력에서 다음과 같은 것을 찾으십시오.

INFO 시스템 : 초기화 시스템 : 기본 INFO 시스템 :-공급자 : VagrantPlugins :: ProviderVirtualBox :: Provider INFO 시스템 :-상자 : # INFO 시스템 :-데이터 디렉토리 : /Users/YOUR_HOME_DIR/Workspace/Homestead/.vagrant/machines/default/ 가상 상자

Data dir 은 흥미로운 경로입니다.

그때 vboxmanage list vms

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

Edit id file, in the path which you found out in the previous command

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

Replace content of that file, with the id of the VM you want to fix, in this scenario it is

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

Now try

homestead up

VM should start booting. It might work, or you might have issues with ssh authentication

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

To fix that do following Check Homestead SSH config

homestead ssh-config

You should get something like

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

Edit IdentityFile file

/Users/YOUR_HOME_DIR/.vagrant.d/insecure_private_key

Check Homestead.yml

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

Then copy path to the file under the key keys, and copy private key from that file

cat ~/.homestead/ssh/id_rsa

Last step is to replace private key in /Users/YOUR_HOME_DIR/.vagrant.d/insecure_private_key with the one you just copied

Now try rung homestead again, should work.

homestead up

I got some warnings, but so far it works without issues

==> default: Warning: Using a password on the command line interface can be insecure. ==> default: ERROR 1045 (28000): Access denied for user 'homestead'@'localhost' (using password: YES) The SSH command responded with a non-zero exit status. Vagrant assumes that this means the command failed. The output for this command should be in the log above. Please read the output to determine what went wrong.


You can open the VirtualBox GUI and remove the conflicting virtual machine.


None of this worked for me. I was using an old dev machine

I attempted:

  1. vagrant global-status > destroy any by id which you don't need or match what is conflicting

  2. open virtualbox and remove + delete files for any which you don't need or are conflicting

What worked:

  • locate your ~/.vagrant/machines/ or ~/.vagrant.d/boxes folder. In my case, it contained the conflicting vm and also a bunch of old left over vm machines which steps 1 & 2 did not remove for some reason.

  • after clearing these, everything worked fine again, finally!


vagrant box list

vagrant box remove laravel/homestead

vagrant global-status

vagrant destroy nameOfYourBox

Open your VirtualBox and delete all itens of your homestead

vagrant up


In my case the following article provide the solution. There was a folder named homestead inside the path /var/root/VirtualBox VMs/ that was causing the issue. Once this folder was removed, rm -r homestead, the issue was resolved. If you can not see or have access to this path execute the following commands in your terminal windows:

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

And proceed to delete the homestead folder.


I had the following error:

Error:

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.

Solution:

  • Find the VirtualBox VMS folder, in my case it was in ~/VirtualBox VMs
  • List the elements in the folder with ls command, and review if the virtual machine is there
  • Delete the folder with the name of the machine, in my case homestead-7
  • Re-execute the vagrant up command in the homestead folder

That's all, I hope it's helpful, that was my solution.

Regards!


After a few hours of troubleshooting, nothing else worked for me, as no one mentioned this little detail.

Depending on your privileges at the time of installation, you may need to run virtualbox as an administrator. It was only when I did this that I saw my vagrant boxes in the list of virtual machines.

I then proceeded to remove my virtual machine named homestead from virtualbox, and the problem was solved.


If you're using homestead in Windows, just open up your Oracle VM VirtualBox and delete the homestead VM.


The Vagrant relies on VirtualBox (if that's the default provider) so it checks for existing environment first before provisioning your VM.

It is executing the following command:

VBoxManage list vms

and when it finds the VM with the same hostname, so it'll fail.

You can debug it by:

vagrant --debug up

to find out the exact reason.


Solution

If you're planning to use multiple VMs in different folders, then you need to change your config.vm.hostname (possibly config.vm.provider(name) as well) in your Vagrantfile to make it unique. Or simply remove it, so Vagrant will assign a different name for each VM.

If that's not the case, simply shutdown and unregister previous VM which conflicts by running:

VBoxManage controlvm NAMEOFVM poweroff
VBoxManage unregistervm NAMEOFVM --delete

and re-run your vagrant up.

If it fails on directory rename (because you missed --delete), then rename or remove the destination folder, for example:

rm -fr ~/"VirtualBox VMs/NAMEOFVM"

and re-try again.


This problem may be related to: GitHub issue #2969 - vagrant up not detecting a previously run VM


In my case, nothing was indicating that the VM "already exists" besides that error message. Nothing on VirtualBox UI, nothing returned by “vboxmanage list vms”, nothing through “vagrant global-status”, it didn’t exist in “.vagrant.d\boxes” and so on. I resolved it by manually creating a new same-name VM in the VM VirtualBox Manager (using the “new” button + accepting all the defaults), and then removing it (right-click > remove). After that, the “vagrant up” worked as expected.


I had the same issue today. Windows 10. I recently had updated Homestead, so the error was probably because of that. I tried it all, destroy, up, delete folders, whatever. Whenever I tried to run vagrant up, it was showing this kind of errors. The solution? After updating, I noticed that Homestead is now naming the boxes by the project folder name, and Homestead.yaml has all that infos. I just run that Homestead Windows configuration vendor\\bin\\homestead make and later them a vagrant up (before making sure it was all clean) and voilá, looks like the machine is booting now. =) Try that if you need it.


Add --force after box, and before your given name.


Renaming an already existing default VM

Disclaimer

다음 절차는 VM을 파괴하고 저와 같은 대상 환경에서만 적합 할 수 있습니다! 프로덕션 환경의 경우 여기에 설명 된대로 연결을 복구하는 것이 좋습니다.

사용하여 이미 존재하는 VM의 기본 이름을 재정의 한 후이 문제가 발생했습니다.

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

VirtualBox 이름도 설정된 곳 (초보자로서 Vagrand 도이 이름을 사용할 것이라고 가정했습니다)

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

추가함으로써 config.vm.define이 방랑은 더 이상 방랑 파일로도 이후 버추얼 VM을 연결하지 않는 것 같다 vagrant destroy -f라고 VM not created하지만, vagrant up이 오류를 던져

이름이 'Ubuntu-Test'인 VirtualBox 머신이 이미 있습니다.

해당 좀비 VM을 삭제하려면
  1. VM이 실행중인 경우 먼저 중지합니다. vboxmanage shutdown <VMName>(여기에 이름이 있습니다. Ubuntu-Test)
  2. 실행하여 ID 얻기 vboxmanage list vms
  3. 삭제 : vboxmanage unregistervm <Id> --delete
  4. 이제 VM을 다음을 사용하여 다시 만들 수 있습니다. vagrant up
  5. 를 사용하면 vagrant global-status --prune새 이름이 있습니다.

나를 위해 id 파일은 아래 언급 된 위치에있었습니다. D : \ drupalvm.vagrant \ machines \ drupalvm \ virtualbox


위의 어느 것도 나를 위해 일하지 않았습니다. 내 마지막 해결책은 다음과 같습니다.

cd ~/.composer/vendor/laravel/homestead/.vagrant/machines;
rm -R default;
cd /var/www/path/to/project;
homestead up;

참고 URL : https://stackoverflow.com/questions/26993903/a-virtualbox-machine-with-the-name-homestead-already-exists

반응형