Download vagrant box file locally from atlas and configuring it
I want to download a vagrant box file from Atlas for using it later locally with my vagrant file. How can I do this, and how can I configure it?
To download a file you have to add version and provider in the URL. For example for downloading trusty64 First you need its URL which is https://app.vagrantup.com/ubuntu/boxes/trusty64/
then you have to add version and provider afterwards, for our example the download URL would be.
https://app.vagrantup.com/ubuntu/boxes/trusty64/versions/20180206.0.0/providers/virtualbox.box
Then you have to add it locally from your vagrant file.
To add it locally to vagrant file use the following command
vagrant box add foo-box /path/to/vagrant-box.box
vagrant init foo-box
vagrant up
This will create the vagrantfile and you can configure the vagrant file.
However, this will add the box as version 0.
○ → vagrant box add ubuntu/trusty64 ~/Downloads/trusty-server-cloudimg-amd64-vagrant-disk1.box
==> box: Box file was not detected as metadata. Adding it directly...
==> box: Adding box 'ubuntu/trusty64' (v0) for provider:
box: Unpacking necessary files from: file:///Users/ram/Downloads/trusty-server-cloudimg-amd64-vagrant-disk1.box
==> box: Successfully added box 'ubuntu/trusty64' (v0) for 'virtualbox'!
vagrant does not allow to specify a version number of the manually added box
○ → vagrant box add ubuntu/trusty64 ~/Downloads/trusty-server-cloudimg-amd64-vagrant-disk1.box --box-version 20151021.0.0
==> box: Box file was not detected as metadata. Adding it directly...
You specified a box version constraint with a direct box file
path. Box version constraints only work with boxes from Vagrant
Cloud or a custom box host. Please remove the version constraint
and try again.
To update the version number of the box, change the folder name '0' in ~/.vagrant.d/boxes/ubuntu-VAGRANTSLASH-trusty64/0 to the version number you downloaded. For example '20160120.0.0'
|2.2.3| MacBook-Pro in ~/.vagrant.d/boxes/ubuntu-VAGRANTSLASH-trusty64
○ → mv 0 20160120.0.0
now you are all set to update the version next time with vagrant command too
○ → vagrant box list
ubuntu/trusty64 (virtualbox, 20160120.0.0)
I faced the same issue not being able to download from script. So manually downloaded the box and added to vagrant as below,
you can get versions you want from here - https://atlas.hashicorp.com/ubuntu/boxes/precise64
wget https://atlas.hashicorp.com/ubuntu/boxes/precise64/versions/20160818.0.0/providers/virtualbox.box
cd my_vagrant_project
vagrant box add precise64 ~/Downloads/precise-server-cloudimg-amd64-vagrant-disk1.box
vagrant init precise64
vagrant up
Download virtualbox.box:
https://app.vagrantup.com/laravel/boxes/homestead/versions/6.4.0/providers/virtualbox.box
You can change the version(6.4.0) of homestead box with the Current Version.
Current version: 6.4.0.
Check for the latest version here: https://app.vagrantup.com/laravel/boxes/homestead
After downloading the box, rename it to virtualbox.box
Don't forget to include the .box extension.
Add the downloaded homestead box to vagrant:
vagrant box add laravel/homestead file:///f:/virtualbox.box
Change the Drive( c: or d: or e:
) or Path(c:/folder1/folder2/virtualbox.box
) to the location where you have stored your downloaded homestead box.
You will get success massage like image below:
Update homestead box
Navigate to vagrant directory:
c:/users/YourUserName/.vagrant.d/boxes/laravel-VAGRANTSLASH-homestead
After that, Create a file called metadata_url
NOTE: There is no extension for metadata_url
Then add the link below and save the file
https://app.vagrantup.com/laravel/homestead
Do not add a newline after link in above file.
Rename folder 0 to 6.4.0
6.4.0 is your homestead box version.
And it's Done. Hope it help.