我在我的环境中使用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
拒绝使用。
答案 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 vagrantfile
或rm -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
答案 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"
这将解决进行无所事事时找不到基础的错误。