我在我的环境中使用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 init时不带框名参数。

所以你必须删除流浪者的文件

vagrant init box-title
vagrant up

我希望这能有所帮助!

其他回答

这是我在Windows 10上的工作:https://stackoverflow.com/a/31594225/2400373

但使用命令后,需要删除文件:Vagranfile:

vagrant init precise64 http://files.vagrantup.com/precise64.box

之后,

vagrant up
vagrant init laravel/homestead

然后

vagrant up

这对我很有效。

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

相反,你可以试试

$ vagrant init hashicorp/precise32 $ vagrant up

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

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

对我来说,我在运行时遇到了一个错误(我使用的是Macbook pro, Mac OS: 10.12.1):

下载远程文件时发生错误。错误消息(如果有的话)如下所示。请修复此错误,然后重试。 无法打开文件…

我试图删除我文件夹中的Vagrantfile,然后运行:

Vagrant init hashicorp/precise64

然后:

流浪汉了

它可以解决我的问题。希望这篇文章能对那些面临同样问题的人有所帮助。