我首先在Windows 10 Pro下使用Vagrant使用Virtualbox提供程序并创建了几个框。然后因为我想测试Docker for Win,我不得不切换到Hyper V并卸载Virtualbox。一段时间后,我手动删除了一些Virtualbox机器或重新设置文件夹,以便它们不再有Vagrantfile。
当我尝试运行时
vagrant global-status --prune
或
vagrant destroy -f XXXYYYZZZ
我收到这个错误:
The provider 'virtualbox' that was requested to back the machine 'default' is reporting that it isn't usable on this system. The reason is shown below:
Vagrant could not detect VirtualBox! Make sure VirtualBox is properly installed. Vagrant uses the VBoxManage binary that ships with VirtualBox, and requires this to be available on the PATH. If VirtualBox is installed, please find the VBoxManage binary and add it to the PATH environmental variable.
我理解Vagrant试图说的是:安装virtualbox binary以便它可以管理这些盒子。但实际上没有VM可以开始,因此它应该足以从注册表中删除它,因此不需要Virtualbox。
在我的情况下,有没有办法从注册表中删除缓存的框?
答案 0 :(得分:1)
vagrant保留了它在以下位置管理的机器列表(对于Mac,你需要找到windows,因为我不完全确定路径)
~/.vagrant.d/data/machine-index
并在此文件夹下,您将找到一个index
文件,该文件将列出它在缓存中的所有计算机。它是一个JSon文件,并列出了该机器的提供程序,因此您可以删除任何非VirtualBox
答案 1 :(得分:0)
当我尝试在具有流浪汉+虚拟框的Windows 10计算机上安装Docker时,也遇到了类似的情况。
我已经卸载了虚拟盒,但是每次尝试运行“无用功”时,都会继续出现相同的错误
被要求支持计算机的提供商“ virtualbox” “默认”报告它在此系统上不可用。原因 如下所示:
Vagrant无法检测到VirtualBox!确保VirtualBox正确 已安装。 Vagrant使用了随附的
VBoxManage
二进制文件 VirtualBox,并要求它在PATH上可用。如果 VirtualBox已安装,请找到VBoxManage
二进制文件并添加 并将其添加到PATH环境变量中。
所以下面的过程将我从中救了出来。
第1步:在vagrantfile中的“ config.vm.box”行下方添加
config.vm.define "hyperv"
第2步:从powershell或cmd开始如下所示的无聊的盒子呼叫
vagrant up --provider=hyperv
应该可以。经过这些步骤,我让无业游民流了。
它必须是保存在缓存或注册表中某处的虚拟框的提供程序。enter code here
来源:https://willmurphyscode.net/2017/01/16/a-very-simple-vagrant-deployment/