如何将下载的.box 文件添加到流浪汉?

如何将下载的 .box文件添加到流浪汉的可用框列表中?.box文件位于外部驱动器上。

我尝试运行 vagrant box add my-box d:/path/to/box,但是 Vagrant 将路径解释为 URL。

123301 次浏览

尝试将目录更改为保存 .box的目录

运行 vagrant box add my-box downloaded.box,这样可以避免绝对路径(在 Windows 上?)。

解决方案:

vagrant box add my-box file:///d:/path/to/file.box

必须是 URL 格式。

F:\PuppetLab\src\boxes>vagrant box add precise32 file:///F:/PuppetLab/src/boxes/precise32.box
==> box: Adding box 'precise32' (v0) for provider:
box: Downloading: file:///F:/PuppetLab/src/boxes/precise32.box
box: Progress: 100% (Rate: 1200k/s, Estimated time remaining: --:--:--)
==> box: Successfully added box 'precise32' (v0) for 'virtualbox'!

你可以指向流浪汉所在的文件夹,然后将盒子文件复制到相同的位置。然后,你可以运行如下

vagrant box add my-box name-of-the-box.box
vagrant init my-box
vagrant up

只是检查一下状态

vagrant status

Windows 解决方案:

  • 作为管理员打开 cmd 或 powershell
  • CD 到包含 .box文件的文件夹中
  • vagrant box add --name name_of_my_box 'name_of_my_box.box'
  • vagrant box list应该显示列表中的新框

MAC 解决方案:

  • 终端打开
  • CD 到包含 .box文件的文件夹中
  • vagrant box add --name name_of_my_box "./name_of_my_box.box"
  • vagrant box list应该显示列表中的新框

首先重命名流浪者文件 那么

vagrant box add new-box name-of-the-box.box
vagrant init new-box
vagrant up

只是检查一下状态

vagrant status

仅此而已

或者添加下载的框,可以创建一个具有元数据的 json 文件。这样就可以应用一些额外的细节。例如,导入框并指定其版本创建文件:

{
"name": "laravel/homestead",
"versions": [
{
"version": "7.0.0",
"providers": [
{
"name": "virtualbox",
"url": "file:///path/to/box/virtualbox.box"
}
]
}
]
}

然后使用参数运行 vagrant box add命令:

vagrant box add laravel/homestead /path/to/metadata.json

只是为了增加对另一个案子的描述。我必须在多台 Ubuntu 机器上安装类似的基于 Vagrant Ubuntu 18.04的配置。使用 vagrant upVagrantfile将 bionic64框下载到一个指定该框的文件夹,然后将文件夹 .vagrant.d/boxes/ubuntu-VAGRANTSLASH-bionic64复制到其他文件夹。