Whenever I try to run this command vagrant up
I am facing following error:
VirtualBox machine with the name 'homestead-7' already exists.
Please use another name or delete the machine with the existing name, and try again.
What I did, to begin with, I configured everything perfectly, means my Vagrant was working fine. I setup everything in C: drive
with following directory structures.
C:/rec (contains my development Laravel code)
C:/recordings/Homestead (contains homestead files)
at that time my Yaml
configuration was like this
.homestead/Homestead.yaml
---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: C:\rec
to: /home/vagrant/Code
sites:
- map: homestead.app
to: /home/vagrant/Code/Laravel/public
Until above mentioned state, everything was working fine. But I decided to change Homestead
folder to my document folder, I did this in my document
git clone https://github.com/laravel/homestead.git Homestead
This created Homestead
directory in my documents like this C:\Users\SweetHome\Homestead
.
I open the command line for this directory and run this command ./init.bat
I created the required files in .homestead
directory. But after all this, when I run vagrant up
command in newly created Homestead
directory, it gives me error
VirtualBox machine with the name 'homestead-7' already exists.
Please use another name or delete the machine with the existing name, and try again.
If I run vagrant up
in previous/old directory C:/recordings/Homestead
everything get working properly. But in new Homestead
I am facing error.
Guide me on how I can get rid of older Homestead
and should start working in new Homestead
. I also tried to remove older Homestead
directories and run vagrant up
but same error
Here are some details:
$ vagrant box list
laravel/homestead (virtualbox, 1.1.0)
$ vagrant --version
Vagrant 1.9.1
$ vagrant global-status
id name provider state directory
-----------------------------------------------------------------------------
5d103ba homestead-7 virtualbox poweroff C:/Users/SweetHome/Homestead
The above shows information about all known Vagrant environments
on this machine. This data is cached and may not be completely
up-to-date. To interact with any of the machines, you can go to
that directory and run Vagrant, or you can use the ID directly
with Vagrant commands from any directory. For example:
"vagrant destroy 1a2b3c4d"
答案1
The Vagrantfile script of Homestead attempts (by calling scripts/homestead.rb script) to create a machine with a default name of 'homestead-7'. That's why it fails, if a box with that name already exists.
You have 2 ways to solve this:
- Open Oracle VirtualBox and rename the existing machine (through its settings) from 'homestead-7' to any other name, and then run the
vagrant up
command again. - Put a line of
name: SomeOtherName
(replace 'SomeOtherName' with what you want) in the Homestead.yaml file of the new machine, and the script will use that name instead of 'homestead-7' (it's not documented, but a look inside scripts/homestead.rb shows that it first checks for a user-defined name and uses it, otherwise, it uses the name 'homestead-7' by default:config.vm.define settings["name"] ||= "homestead-7"
)
答案2
Just delete the machine with the existing name: 'homestead-7' In the program VM.
$ vagrant halt
or
$ vagrant destroy
and then
$ vagrant up
You can also destroy directly in the Virtual Box program 'homestead-7' (or the one you use for the VM) and recreate it following the steps you did before.