Vagrant和Vagrant Box允许自动执行在VirtualBox上部署VM(和顶层软件)所需的所有步骤; Vagrant(2.2.0)的实际最新版本无法将VirtualBox 6.0识别为提供程序。
可以通过以下步骤应用克服此临时限制的解决方法:
- 编辑/opt/vagrant/embedded/gems/2.2.0/gems/vagrant-2.2.0/plugins/providers/virtualbox/driver/meta.rb
并在“ driver_map ”列表中添加6.0 ,如下例所示:
@ logger.debug(“查找VirtualBox版本的驱动程序:#{@@ version}”)
driver_map = {
“4.0”=> Version_4_0,
“4.1”=> Version_4_1,
“4.2”=> Version_4_2,
“4.3”=> Version_4_3 ,
“5.0”=> Version_5_0,
“5.1”=> Version_5_1,
“5.2”=> Version_5_2,
“6.0”=> Version_6_0,
} -
创建/opt/vagrant/embedded/gems/2.2.0/gems/vagrant-2.2.0/plugins/providers/virtualbox/driver/version_6_0.rb(可在此处下载)
-
编辑/opt/vagrant/embedded/gems/2.2.0/gems/vagrant-2.2.0/plugins/providers/virtualbox/plugin.rb
并在“ 模块驱动程序 ”部分中添加6.0 ,如下例所示:
#在此处删除一些自动加载,以优化
仅在需要时加载#我们的驱动程序的性能。
模块驱动程序
自动加载:Meta,File.expand_path(“../ driver / meta”,__ FILE__)
自动加载:Version_4_0,File.expand_path(“../ driver / version_4_0”,__
FILE __)autoload:Version_4_1,File.expand_path(“。 ./driver/version_4_1“,__ FILE__)
自动加载:Version_4_2,File.expand_path(”../ driver / version_4_2“,__
FILE __)autoload:Version_4_3,File.expand_path(”../ driver / version_4_3“,__ FILE__)
autoload:Version_5_0 ,File.expand_path(“../ driver / version_5_0”,__
FILE __)autoload:Version_5_1,File.expand_path(“..
autoload:Version_5_2,File.expand_path(“../ driver / version_5_2”,__
FILE __)autoload:Version_6_0,File.expand_path(“../ driver / version_6_0”,__ FILE__)
end
如果您不想手动编辑这些文件,可以将此处提供的示例文件作为示例。
通过这些简单的步骤,您将能够正确地使用“ Vagrant 2.2.0 ”和“ Oracle VM VirtualBox 6.0 BETA1 ”,并且在一起工作时不会丢失两种产品的功能。