如何将下载的.box文件添加到Vagrant?

Pet*_*ron 105 windows vagrant

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

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

Pet*_*ron 171

解:

vagrant box add my-box file:///d:/path/to/file.box
Run Code Online (Sandbox Code Playgroud)

必须是URL格式.

  • 如果我使用`vagrant box add my-box ./path/to/mybox.box?`该怎么办? (8认同)
  • 结肠使它适合我. (2认同)

Sam*_*iri 81

您可以指向vagrant的文件夹并将box文件复制到同一位置.然后你可以运行如下

vagrant box add my-box name-of-the-box.box
vagrant init my-box
vagrant up
Run Code Online (Sandbox Code Playgroud)

只是为了检查状态

vagrant status
Run Code Online (Sandbox Code Playgroud)


Ter*_*ang 25

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

运行vagrant box add my-box downloaded.box,这可能会工作,因为它避免绝对路径(在Windows上?).


Jak*_*gir 9

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

{
  "name": "laravel/homestead",
  "versions": [
    {
      "version": "7.0.0",
      "providers": [
        {
          "name": "virtualbox",
          "url": "file:///path/to/box/virtualbox.box"
        }
      ]
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

然后运行vagrant box add带参数的命令:

vagrant box add laravel/homestead /path/to/metadata.json
Run Code Online (Sandbox Code Playgroud)


lan*_*.io 7

Windows解决方案:

  1. 以管理员身份打开cmd或powershell
  2. CD进入包含该.box文件的文件夹
  3. vagrant box add --name name_of_my_box 'name_of_my_box.box'
  4. vagrant box list 应该在列表中显示新框


小智 5

首先重命名 Vagrantfile 然后

vagrant box add new-box name-of-the-box.box
vagrant init new-box
vagrant up
Run Code Online (Sandbox Code Playgroud)

只是为了检查状态

vagrant status
Run Code Online (Sandbox Code Playgroud)

就这样