让Vagrant 2.2.0使用VirtualBox 6.0 BETA1

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 ”,并且在一起工作时不会丢失两种产品的功能。

猜你喜欢

转载自blog.csdn.net/qq_39436397/article/details/99739403