Vagrant 如何使用Hyper-V作为提供程序删除缓存的不存在的Virtualbox计算机?
我是在Windows10Pro下使用Vagrant的,首先是和Virtualbox提供商一起使用,并创建了一些框。然后因为我想测试Docker的Win,我不得不切换到Hyper V并卸载Virtualbox。过了一段时间,我手动删除了一些Virtualbox机器,或者重新调整了文件夹的用途,使它们不再包含Vagrantfile 当我尝试运行任何一个Vagrant 如何使用Hyper-V作为提供程序删除缓存的不存在的Virtualbox计算机?,vagrant,hyper-v,Vagrant,Hyper V,我是在Windows10Pro下使用Vagrant的,首先是和Virtualbox提供商一起使用,并创建了一些框。然后因为我想测试Docker的Win,我不得不切换到Hyper V并卸载Virtualbox。过了一段时间,我手动删除了一些Virtualbox机器,或者重新调整了文件夹的用途,使它们不再包含Vagrantfile 当我尝试运行任何一个 流浪全球状态——修剪 或 流浪破坏-f xxxyyzzz 我得到这个错误: 请求支持计算机“默认”的提供程序“virtualbox”报告它在此系统上
流浪全球状态——修剪
或
流浪破坏-f xxxyyzzz
我得到这个错误:
请求支持计算机“默认”的提供程序“virtualbox”报告它在此系统上不可用。原因如下:
流浪汉无法检测到VirtualBox!确保VirtualBox已正确安装。Vagrant使用VirtualBox附带的VBoxManage二进制文件,并要求该文件在路径上可用。如果安装了VirtualBox,请查找VBoxManage二进制文件并将其添加到PATH环境变量。
我理解Vagrant想说的:安装virtualbox二进制文件,这样它就可以管理这些盒子了。但实际上,一开始就没有虚拟机,所以从注册表中删除它就足够了,因此不需要Virtualbox。
在我的情况下,有没有办法从注册表中删除缓存框?vagrant将其管理的机器列表保存在以下位置下(这是针对Mac的,您需要查找针对windows的,因为我不完全确定路径)
在这个文件夹下,你会发现一个
索引
文件,它将列出缓存中的所有机器。它是一个JSon文件,并且列出了机器的提供程序,这样你就可以删除任何不是VirtualBox的东西当我试图用vagrant+virtual box在我的Windows 10机器上安装Docker时,我遇到了类似的情况
我已卸载virtual box,但每次尝试运行“vagrant up”时都会出现相同的错误
请求支持计算机的提供程序“virtualbox”
“默认值”是指报告它在此系统上不可用。原因是
如下所示:
流浪汉无法检测到VirtualBox!请确保VirtualBox已正确安装
安装。Vagrant使用随附的VBoxManage
二进制文件
VirtualBox,并要求此文件在路径上可用。如果
VirtualBox已安装,请查找VBoxManage
二进制文件并添加
它指向环境变量的路径
所以下面的过程救了我
步骤1:在“config.vm.box”行下添加vagrantfile中的下一行
第2步:从powershell或cmd开始如下所示的“漫游箱”调用
vagrant up --provider=hyperv
应该行的。我让流浪汉跟着这些步骤跑。
它必须是作为虚拟框保存在缓存或注册表中某处的提供程序。在此处输入代码
资料来源:是的,这也是我最初的想法,我只是希望有更优雅的解决方案。谢谢-花了很长时间才弄明白!
config.vm.define "hyperv"
vagrant up --provider=hyperv