无法安装 Vagrant box Laravel Homestead

Posted

技术标签:

【中文标题】无法安装 Vagrant box Laravel Homestead【英文标题】:Can't install Vagrant box Laravel Homestead 【发布时间】:2015-09-14 17:00:55 【问题描述】:

我正在尝试按照here 上的官方文档说明在 Mac OS X 上安装 Laravel Homestead。

我安装了 VirtualBox 和 Vagrant。现在我正在尝试使用命令vagrant box add laravel/homestead 添加 Homestead 框。过了一会儿,下载停止,我得到一个错误。它不允许我恢复下载,所以我必须删除部分下载文件并从零开始。我已经试过很多次了。

我认为我的互联网连接有点问题,因为它有点慢而且文件很大。

这是完整的代码:

$ 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

重试后:

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.

感谢任何帮助。

【问题讨论】:

你的网络连接不好? 【参考方案1】:

A.转到.vagrant.d\tmp\并删除部分下载文件,然后重试。

B.如果失败,您可以尝试使用浏览器或其他工具手动下载文件。下载后,您可以使用vagrant box add laravel/homestead path/to/virtualbox.box 将其导入。

已编辑:从下面的 cmets 添加第二个答案。)

【讨论】:

我已经做过很多次了。你知道是否还有其他选择? 嗯,您可以尝试使用浏览器或其他工具手动下载the file。下载后,您可以使用vagrant box add laravel/homestead path/to/virtualbox.box 将其导入。 对我来说,它只适用于 Vogt 在 cmets 中建议的方式。 我为此苦苦挣扎了很久,即使手动下载也无法在 Chrome、Safari 或 curl 中运行 - 但由于某种原因,Firefox 在其他失败的地方成功了。 @ChrisVogt 但不是.box 文件,而是下载文件hc-download【参考方案2】:

试试这个:rm ~/.vagrant.d/tmp/*rm -R ~/.vagrant.d/tmp/*

然后再次vagrant up

【讨论】:

为我工作。谢谢。 为我工作 - 有一些 tmp 文件。【参考方案3】:

我也遇到了同样的问题,我刚刚去了

首页 --> .vagrant.d -->tmp

现在这里会有一个 zip 文件,请删除那个,然后你就完成了。

【讨论】:

【参考方案4】:

只需转到 C:\Users\YourUSERNAME\ .vagrant.d\tmp

并删除所有文件,然后再次键入以下命令

vagrant box 添加 laravel/homestead

就是这样享受......

【讨论】:

感谢您为临时文件提供 Windows 位置!【参考方案5】:

试试:

vagrant box add laravel/homestead -c

【讨论】:

您没有看问题吗?在问题中,您所建议的正是无法正常工作的问题,因此也是问题。 @ydobonebi 标志“-c”的文档状态:“清理任何临时下载文件”。在尝试添加框之前,使用此标志会删除与 .vagrant.d/tmp/ 中的部分下载相关的文件。它在行为上相当于删除 .vagrant.d/tmp 目录的内容,然后重试添加框。【参考方案6】:

我解决了这个编辑 .json 文件的问题:~/.vagrant.d/data/machine-index 删除键machines的值如"machines": ..."machines":

【讨论】:

【参考方案7】:

输入

cd ~

然后输入

rm -rf .vagrant.d

这应该可以完成。

【讨论】:

【参考方案8】:

要下载文件,您必须在 URL 中添加版本和提供程序。例如下载precision64 首先你需要它的URL https://atlas.hashicorp.com/ubuntu/boxes/trusty64

然后您必须在之后添加版本和提供程序,对于我们的示例,下载 URL 将是。

https://atlas.hashicorp.com/ubuntu/boxes/trusty64/versions/14.04/providers/virtualbox.box

然后你必须从你的 vagrant 文件本地添加它。

要将其本地添加到 vagrant 文件,请使用以下命令

vagrant box add foo-box /path/to/vagrant-box.box
vagrant init foo-box
vagrant up

这将创建 vagrantfile,您可以配置 vagrant 文件。

【讨论】:

【参考方案9】:

如果您使用 Vagrant V2,那么您可以在添加框时使用 --clean 标志。

vagrant box add laravel/homestead --clean

--clean - 如果给定,Vagrant 将从之前下载的相同 URL 中删除所有旧的临时文件。如果您不希望 Vagrant 从前一点恢复下载,这很有用,可能是因为内容已更改。

Vagrant Documentation

【讨论】:

成功了。如果我尝试用 --insecure 下载,它就不能正常工作,伙计。谢谢【参考方案10】:

在最终完成之前,我只是简单地恢复了该过程几次。我认为主要的问题是互联网连接,它在我家就不稳定。最干净的方法当然是其他人已经建议的方法,加上移动到有稳定连接的地方。

【讨论】:

【参考方案11】:

这是一个存储库问题,有时取决于 vagrant 版本。更新 vagrant 可能有效,但如果问题仍然存在,您必须尝试使用​​存档的 vagrant 版本。

【讨论】:

以上是关于无法安装 Vagrant box Laravel Homestead的主要内容,如果未能解决你的问题,请参考以下文章

Windows 7/8/10 系统下Laravel框架的开发环境安装及部署详解(Vagrant + Homestead)

sh Laravel ScotchBox SetUp Vagrant Box

在windows下用vagrant建立lnmp开发环境

在windows下用vagrant建立lnmp开发环境

Laravel/Homestead vagrant box 从系统中消失了

vagrant网站中box下载方法