38

I'm trying to install Laravel Homestead on Mac OS X following the official documentation instructions on here.

I installed VirtualBox and Vagrant. Now I'm trying to add the Homestead box with the command vagrant box add laravel/homestead. After a while the download stops and I get an error. It doesn't let me restore the download so I have to delete the partial download file and start from zero. I've tried it many times.

I think my Internet connection has something to do since it's kinda slow and it's a large file.

Here's the complete code:

$ vagrant box add laravel/homestead
==> box: Loading metadata for box 'laravel/homestead'
    box: URL: https://atlas.hashicorp.com/laravel/homestead
This box can work with multiple providers! The providers that it
can work with are listed below. Please review the list and choose
the provider you will be working with.

1) virtualbox
2) vmware_desktop

Enter your choice: 1
==> box: Adding box 'laravel/homestead' (v0.2.7) for provider: virtualbox
    box: Downloading: https://atlas.hashicorp.com/laravel/boxes/homestead/versions/0.2.7/providers/virtualbox.box
An error occurred while downloading the remote file. The error
message, if any, is reproduced below. Please fix this error and try
again.

transfer closed with 935392411 bytes remaining to read

After retrying:

An error occurred while downloading the remote file. The error
message, if any, is reproduced below. Please fix this error and try
again.

HTTP server doesn't seem to support byte ranges. Cannot resume.

Any help is appreciated.

Alonso Arellano
  • 459
  • 2
  • 5
  • 8

11 Answers11

68

A. Go to .vagrant.d\tmp\ and delete the partial download file, then try again.

B. If that fails, you could attempt downloading the file manually using a browser or other tool. Once downloaded, you can import it using vagrant box add laravel/homestead path/to/virtualbox.box.

(Edited: Adds second answer from comments below.)

Chris Vogt
  • 1,199
  • 8
  • 11
  • I've done that many times already. Do you know if there's another option? – Alonso Arellano Jun 28 '15 at 01:29
  • 4
    Hmm, you could attempt downloading [the file](https://atlas.hashicorp.com/laravel/boxes/homestead/versions/0.2.7/providers/virtualbox.box) manually using a browser or other tool. Once downloaded, you can import it using `vagrant box add laravel/homestead path/to/virtualbox.box`. – Chris Vogt Jun 28 '15 at 01:35
  • 1
    For me it only works the way Vogt suggests in the comments. – user2094178 Jun 28 '15 at 04:10
  • 1
    I struggled with this for ages, even downloading manually wouldn't work in Chrome, Safari or via a curl - but for some reason Firefox succeeded where the others failed. – goodforenergy Aug 10 '15 at 10:45
  • 1
    @ChrisVogt but instead of a `.box` file it downloads the file `hc-download` – Volatil3 Aug 12 '15 at 04:32
  • You can see how to download it manually using this link http://laravel.io/forum/05-06-2015-how-to-download-vagrant-box-manually – Kevin Dec 11 '15 at 17:29
42

Try this:
rm ~/.vagrant.d/tmp/*or rm -R ~/.vagrant.d/tmp/*

Then vagrant up again.

ux.engineer
  • 10,082
  • 13
  • 67
  • 112
Soroush
  • 907
  • 1
  • 9
  • 27
13

Go to C:\Users\YourUSERNAME\.vagrant.d\tmp and delete all the files. Then type following command:

vagrant box add laravel/homestead

Kirk Beard
  • 9,569
  • 12
  • 43
  • 47
Juned Ansari
  • 5,035
  • 7
  • 56
  • 89
11

Try:

vagrant box add laravel/homestead -c
cody
  • 507
  • 7
  • 19
  • 1
    Did you fail to read the question? In the question what you suggest is exactly what is failing to work and thus the question. – ydobonebi Oct 01 '15 at 19:44
  • 5
    @ydobonebi the documentation for the flag '-c' states: "Clean any temporary download files". using this flag removes the files associated with the partial download in .vagrant.d/tmp/ before attempting to add the box. it is behaviorally equivalent to removing the contents of the .vagrant.d/tmp directory and then retrying to add the box. – Chris Kolodin Oct 05 '15 at 21:26
7

If you're using Vagrant V2 then you can use the --clean flag when adding a box.

vagrant box add laravel/homestead --clean

--clean - If given, Vagrant will remove any old temporary files from prior downloads of the same URL. This is useful if you don't want Vagrant to resume a download from a previous point, perhaps because the contents changed.

Vagrant Documentation

sketchthat
  • 2,678
  • 2
  • 13
  • 22
1

I also got the same problem and I just went to

Home --> .vagrant.d -->tmp

Now here one zip file will be there, please delete that one and your done.

hmmm
  • 41
  • 4
1

type

cd ~

then type

rm -rf .vagrant.d

That should get it done .

user3123372
  • 704
  • 1
  • 10
  • 26
0

I solve this editing the .json file in: ~/.vagrant.d/data/machine-index Delete the value of key machines like "machines": {...} to "machines":{}

Paulo Freitas
  • 13,194
  • 14
  • 74
  • 96
0

To download a file you have to add version and provider in the URL. For example for downloading precise64 First you need its URL which is https://atlas.hashicorp.com/ubuntu/boxes/trusty64

then you have to add version and provider afterwards, for our example the download URL would be.

https://atlas.hashicorp.com/ubuntu/boxes/trusty64/versions/14.04/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.

A Jamal
  • 88
  • 2
  • 10
0

I was simply resuming the process a few times before it was finally done. I think that the main problem is with the internet connection, it falters here at my home. The cleanest way certainly would be what others already suggested plus moving somewhere with a stable connection.

Zed Pi
  • 31
  • 3
0

This is a repository problem and sometimes depends on the vagrant version. Updating vagrant could work but if problems persist you have to try to use the archived vagrant versions.

Karl Casas
  • 805
  • 9
  • 9