Download vagrant box file locally from atlas and configuring it

60,166

Solution 1

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.

Solution 2

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)

Solution 3

First: check latest version from this link Here
Update:you can try by go to the mentioned link above ,to get the number of latest version,then try to change the version in bellow URL
for now the latest version is:7.2.1
for virtualbox:
https://vagrantcloud.com/laravel/boxes/homestead/versions/7.2.1/providers/virtualbox.box
for hyperv:
https://vagrantcloud.com/laravel/boxes/homestead/versions/7.2.1/providers/hyperv.box
for vmware:
https://vagrantcloud.com/laravel/boxes/homestead/versions/7.2.1/providers/vmware_desktop.box
for parallels:
https://vagrantcloud.com/laravel/boxes/homestead/versions/7.2.1/providers/parallels.box

Maybe in the future the link changed so try to get download vagrant box by using command on your terminal/CMD by command

vagrant box add laravel/homestead

choose your virtualization method
then you will see the download link *ended with .box, after that you can cancel it CTRL+C and copy the download link and download it locally by using IDM/aria2c -x16 etc.
Second: Use this command

vagrant box add laravel/homestead {Path of file from your local computer}

Third:add metadata by go to
1- you create a file called metadata_url
NOTE: There is no extension for metadata_url

2- Then add this link and save the file

https://atlas.hashicorp.com/laravel/homestead

3- Copy metadata_url file to:

  • for windows go to

    %userprofile%.vagrant.d\boxes\laravel-VAGRANTSLASH-homestead

4- Then rename the folder named 0 to the version of the current homestead version = 7.2.1


I hope this help for more information
Laravel
metadata

Solution 4

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

Solution 5

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:

success image

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.

Share:
60,166
Muhammad Raihan Muhaimin
Author by

Muhammad Raihan Muhaimin

Hi, I am a software developer who is passionate with Web, Big Data and Machine Learning. I am in love with building cool Web tools, play with Big Data and develop Machine Learning model to help people move forward. I am comfortable with **Data and ML Engineering with SQL, Python, Pandas, Scikit-learn, Apache Spark **, etc. To know detail about my experience please have a look at my resume I have worked as a Full Stack Software Developer from 2014 - 2017 and gained experience with both frontend and backend javascript. I have made a contribution to various open source library such as React-Native, Node-postgres, knex. I also gained hands-on experience in deploying and managing micro-service based software architecture at AWS. While I worked as a Software Developer I used various machine learning tools and api using python and javascript from which I got really interested in big data. From September 2017, I have started doing my master’s in big data at Simon Fraser University, Burnaby, BC. As a part of my program, I also did a four-month internship at IBM where I worked as a Machine Learning Engineer. During my master's degree and internship, I have become very proficient with tools like Scikit-learn, Pytotch, Python-pandas, Spark, Spark SQL, etc. I have also gained hands-on experience in data cleaning, data consolidation, entity resolution, feature engineering, model development, and validation. Currently, I am working for Thomson Reuters Canada I love anything challenging and I am looking for new challenges where I can contribute and learn a lot.

Updated on January 20, 2021

Comments

  • Muhammad Raihan Muhaimin
    Muhammad Raihan Muhaimin over 3 years

    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?