我在我的环境中使用Vagrant,我遇到了一个小问题:

$vagrant up

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'base' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox
    default: Box Version: >= 0
==> default: Adding box 'base' (v0) for provider: virtualbox
    default: Downloading: base

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

Couldn't open file /Users/.../base

我已经初始化了我的项目与流浪者初始化,但出于某种原因流浪者拒绝工作。


当前回答

请在你的终端上运行:

$ vagrant box list

您将看到类似laravel/homestead(virtualbox,x.x.x)的内容。

接下来找到你的Vagrantfile,找到上面写着的那行

config.vm.box = "box"

运行流浪箱列表时,将箱替换为箱名。

其他回答

我知道这是旧的,但我得到了完全相同的错误。结果发现我遗漏了文档中清楚显示的这一步。

我需要编辑Vagrantfile,将config.vm.box设置为我下载的映像hashicorp/precise32。默认情况下,它被设置为base。

以下是文档的内容:

现在箱子已经添加到Vagrant,我们需要配置我们的 项目使用它作为基础。打开Vagrantfile并更改 内容如下: Vagrant.configure("2") do |config| Config.vm.box = "hashicorp/precise32" 结束

看起来你可能已经创建了一个Vagrant项目,只是Vagrant init。这将创建您的Vagrantfile,但它不会定义一个框。

相反,你可以试试

$ vagrant init hashicorp/precise32 $ vagrant up

它使用标准的Ubuntu映像。Vagrant网站上有一个Getting Started,上面给出了一些很好的例子。

创建虚拟框时遵循以下语法:

 $ vagrant box add {title} {url}
 $ vagrant init {title}
 $ vagrant up

参见http://www.vagrantbox.es/

在当前目录下,删除该目录下的所有vagrant文件,然后执行init,启动vagrant:

mv .vagrant .vagrant_old
mv Vagrantfile Vagrantfile_old

vagrant init ubuntu/trusty64  
vagrant up  

这个作品。

编辑vagrant init在同一目录下创建的vagrant文件,并在config.vm.box = "ubuntu/trusty64"行中输入盒子的名称,其中ubuntu/trusty64是你的基本盒子。现在vagrant up将下载并设置ubuntu/trusty64为你的基础框。