如何将已下载的.box
文件添加到Vagrant的可用框列表中? .box
文件位于外部驱动器上。
我尝试运行vagrant box add my-box d:/path/to/box
,但Vagrant将路径解释为URL。
答案 0 :(得分:160)
vagrant box add my-box file:///d:/path/to/file.box
必须采用网址格式。
答案 1 :(得分:77)
您可以指向vagrant的文件夹并将box文件复制到同一位置。然后你可以运行如下
vagrant box add my-box name-of-the-box.box
vagrant init my-box
vagrant up
只是为了检查状态
vagrant status
答案 2 :(得分:24)
尝试将目录更改为.box
已保存的位置
运行vagrant box add my-box downloaded.box
,这可能会有效,因为它可以避免绝对路径(在Windows上?)。
答案 3 :(得分:6)
Windows解决方案:
.box
文件vagrant box add --name name_of_my_box 'name_of_my_box.box'
vagrant box list
应在列表中显示新框答案 4 :(得分:3)
首先重命名Vagrantfile 然后
vagrant box add new-box name-of-the-box.box
vagrant init new-box
vagrant up
只需检查状态
vagrant status
仅此而已
答案 5 :(得分:2)
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'!
答案 6 :(得分:0)
或者添加下载框,可以创建一个带有元数据的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
答案 7 :(得分:0)
只需添加另一种情况的描述。我必须将基于Vagrant Ubuntu 18.04的类似配置安装到多台Ubuntu计算机上。将vagrant up
与Vagrantfile
(其中指定了此框)一起使用,将.vagrant.d/boxes/ubuntu-VAGRANTSLASH-bionic64
下载到bionic64框中,然后将文件夹private void textBoxt_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 13)
{
datetimepicker1.Focus();
datetimepicker1.Select();
SendKeys.Send("%{DOWN}");
}
}
复制到其他文件夹中。