尝试流浪汉时出错

时间:2014-05-26 16:23:24

标签: vagrant

我在我的环境中使用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 up拒绝使用。

24 个答案:

答案 0 :(得分:240)

看起来你可能只用vagrant init创建了一个Vagrant项目。这将创建您的Vagrant文​​件,但它不会定义一个框。

相反,你可以试试

$ vagrant init hashicorp/precise32
$ vagrant up

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

答案 1 :(得分:103)

如果您正在使用OS X并使用标准安装,请删除流浪汉的旧卷曲,现在应该可以使用

sudo rm /opt/vagrant/embedded/bin/curl

答案 2 :(得分:80)

vagrant init laravel/homestead

然后

vagrant up

对我有用。

答案 3 :(得分:39)

这是因为有一个没有定义框名称的vagrant文​​件。当您使用框名参数运行 vagrant init 时会发生这种情况。

所以你必须删除Vagrant文​​件然后

vagrant init box-title
vagrant up

您可以找到所有方框here

我希望这可以提供帮助!

答案 4 :(得分:20)

对我来说,这些是以下步骤:

  • cd homestead(在您的目录homestead文件夹中)或cd Homestead
  • del vagrantfilerm -Rf Vagrantfile
  • vagrant init laravel/homestead
  • vagrant up

答案 5 :(得分:14)

请在您的终端中运行:

$ vagrant box list

您会看到类似laravel/homestead(virtualbox,x.x.x)

的内容

接下来找到您的Vagrantfile并找到显示

的行
config.vm.box = "box"
运行box时,

vagrant box list替换为方框名称。

答案 6 :(得分:14)

我知道这是旧的,但我得到了完全相同的错误。事实证明我错过了this step中的the documentation

我需要修改Vagrantfile以将config.vm.box设置为与我下载的图片hashicorp/precise32相等。默认情况下,它设置为base

以下是文档说的内容:

  

现在该框已添加到Vagrant,我们需要配置我们的   项目以它为基础。打开Vagrantfile并更改   内容如下:

Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/precise32"
end

答案 7 :(得分:11)

如果"Vagrantfile" already exists in this directory. Remove it before running "vagrant init". 错误显示

1. rm Vagrantfile
2. vagrant init hashicorp/precise64
3. vagrant up

答案 8 :(得分:9)

Vagrant中的嵌入式卷曲程序似乎有问题。按照上面的建议,我只是将其重命名(以防万一我想要它)并且vagrant up开始按预期工作。

在我的Mac上:

♪ .vagrant.d sudo mv /opt/vagrant/embedded/bin/curl /opt/vagrant/embedded/bin/curlOLD Password:

答案 9 :(得分:6)

我也遇到过这个错误。 我想是因为我没有提供box_url ..

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

答案 10 :(得分:4)

对我来说,运行vagrant up时遇到错误(我使用Macbook pro,Mac OS:10.12.1):

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...

我尝试删除文件夹中的Vagrantfile并运行:

vagrant init hashicorp/precise64

然后:

vagrant up

它可以解决我的问题。希望这对面临同样问题的人有所帮助。

答案 11 :(得分:4)

实际上,你必须这样做:

vagrant up laravel/homestead

因为根据宅基地演练,您刚刚下载了它:http://laravel.com/docs/5.0/homestead 由:

vagrant box add laravel/homestead

所以你必须启动你想要使用的盒子 - 而不是一些随机的ubuntu图像;)

答案 12 :(得分:4)

启动Vagrant的第一步也是最重要的步骤是,检查系统中是否存在所有框。 使用此命令可获得可用的框列表。

vagrant box list

然后继续进行进一步的处理,即选择一个特定的框

vagrant init ubuntu/trusty64(我选择了ubuntu / trusty64)

然后

vagrant up

谢谢

答案 13 :(得分:2)

当我运行以下命令时,我遇到了同样的问题

vagrant init
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: Box file was not detected as metadata. Adding it directly...
==> 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 /home/...../base

我用

更正了
>vagrant init laravel/homestead
>Vagrant up

它对我有用。

快乐编码

答案 14 :(得分:2)

这项工作适用于Windows 10:https://stackoverflow.com/a/31594225/2400373

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

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

之后

vagrant up

答案 15 :(得分:2)

我已经在命令行中解决了这个问题。首先将目录更改为您的 vagrant 文件位置,然后初始化 Vagrant:

vagrant init hashicorp/bionic64

<强>!您需要删除旧的 Vagrant 文件。

答案 16 :(得分:1)

如果您添加了一个框并开始下载但中断了下载,请转到~/.vagrant.d/tmp/并删除部分下载文件,然后重试。

答案 17 :(得分:1)

我通过转到您家中的文件夹.vagrant.d/boxes/解决了这个问题,并将文件夹的名称从laravel-VAGRANTSLASH-homestead更改为base。 它对我有用。

请检查BIOS中是否启用了虚拟化。

答案 18 :(得分:1)

您也可以将vm添加到您的计算机

vagrant box add precise32 http://files.vagrantup.com/precise32.box

答案 19 :(得分:0)

当你做vagrant init时,它会替换你的repo中的vagrant文​​件并且可以给你那个错误。因此,我建议您从远程或备份流浪文件中复制原始的流浪文件,然后尝试流浪。

我遇到了同样的问题,我刚从远程仓库复制了流浪文件,并替换了我试图运行的流浪文件。这与VM一起同步了vagrant文​​件中的配置。

答案 20 :(得分:0)

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

答案 21 :(得分:0)

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

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

请参阅http://www.vagrantbox.es/

答案 22 :(得分:0)

仔细检查Homestead.yaml文件,检查行尾是否有多余的空格字符。 然后,打开gitbash->转到Homestead目录->命令“ vagrant up --provision”。

答案 23 :(得分:0)

检查您的Vagrantfile中的以下条目

Every Vagrant development environment requires a box.
You can search for boxes at https://vagrantcloud.com/search.
  config.vm.box = "base"

这是使用 vagrant init 命令创建的默认文件设置。但是,您需要做的是使用OS盒初始化流浪者环境。例如$ 无用的初始化 centos / 7 。 Vagrantfile看起来像这样:

Every Vagrant development environment requires a box.
You can search for boxes at https://vagrantcloud.com/search.
  config.vm.box = "centos/7"

这将解决进行无所事事时找不到基础的错误。