Vagrant虚拟机镜像未找到错误。

7
我正在尝试使用虚拟机设置虚拟盒子。 我已经在我的Windows 7 64位计算机上安装了虚拟盒子和vagrant。 我还使用puphpet构建了一个环境。 但是每当我尝试安装框ubuntu1404-x64时,它会抛出错误。
Bringing machine 'machine1' up with 'virtualbox' provider...
==>Machine1: Box 'puphpet/ubuntu1404-x64' could not be found. Attempting to find and install...
machine1: Box Provider: virtualbox
machine1: Box Version: >= 0
machine1: Box file was not detected as metadata. Adding it directly...
machine1: Adding box 'puphpet/ubuntu1404-x64' (v0) for provider: virtualbox
machine1: Downloading: puphpet/boxes/ubuntu1404-x64
machine1:
An error occurred while downloading the remote file. The error message, if any, is reproduced below. Please fix this error and try again.

我查看了URL https://atlas.hashicorp.com/puphpet/boxes/ubuntu1404-x64/,发现puphpet/ubuntu1404-x64存在。
此外,当它说The error message, if any, is reproduced below时,终端没有显示任何描述。
我在Google上搜索了这个问题,尝试了一些stackoverflow上的答案,但没有结果。请帮忙。

我已经阅读了它的文档,文档中提到该盒子需要一个 metadata.json 文件。但是当我通过命令行运行 vagrant up 时,它说未检测到元数据的盒子文件。 - Sid
3个回答

8

我曾经遇到过类似的情况,我通过使用vagrant命令行下载虚拟机箱而不是从Vagrantfile中自动下载(从URL下载)来解决了这个问题:

$ vagrant box add USER/BOX

在此处查看更多。你可以尝试相同的方法,这可能也适用于你。

编辑:在Windows系统中,似乎需要安装Microsoft Visual C++ 2010 redist以执行框的配置。可以在此处下载。有关puhpet问题的更多信息:此处


谢谢你提供的信息,Geo。我已经查看了他们的文档,但问题仍然存在。找不到这个盒子。 - Sid
该盒子的URL是否存在且有效? 如果是,则下面是我使用它的示例:vagrant box add ubuntu-1464 https://github.com/kraksoft/vagrant-box-ubuntu/releases/download/14.04/ubuntu-14.04-amd64.box。 然后,在我的vagrant文件中,我只需配置盒子名称为 ubuntu-1464 并删除URL即可。 这样可以使vagrant在本地安装的盒子列表中找到它。 - Geo
我也尝试从Github下载,但仍然是同样的情况。此外,我手动下载了盒子文件并尝试使用“vagrant box add name local_box_file”命令,但仍然出现相同的错误。 - Sid
在你的Vagrantfile中,你将其引用为本地名称,并删除了URL,对吗? - Geo
是的,我删除了完整的框URL行。 - Sid
显示剩余3条评论

3

我遇到了类似的问题,通过安装最新版本的vagrant解决了它。


0
它一直告诉我:“撤销功能无法检查证书的撤销状态。”
我搜索了一下,在这个仓库的聊天记录中找到了相同的错误。

https://github.com/hashicorp/vagrant/issues/13102

解决方案(至少对我来说)是在vagrant文件中添加以下行: 在开始的行上:Vagrant.configure("2") do |config|
在其下面添加以下行:config.vm.box_download_options = {"ssl-no-revoke" => true}
因此最终形式应为:
Vagrant.configure("2") do |config|
    // leave any already written lines as it is 

    config.vm.box_download_options = {"ssl-no-revoke" => true}  

然后保存文件

这对我起作用并完成了下载

注意:这个解决方案可能会对您的机器造成一些微小的安全问题,因为它在下载虚拟机的基础盒子镜像时有效地禁用了SSL证书吊销检查,但我发布这个解决方案是因为这是我个人找到的唯一帮助我解决这个问题的方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接