• Startseite
  • Allgemein
  • Probleme nach Update von VirtualBox auf Version 6.1 in Kombination mit Vagrant 2.2.6

Probleme nach Update von VirtualBox auf Version 6.1 in Kombination mit Vagrant 2.2.6

Nach einem Update von VirtualBox auf die Version 6.1.0 r135406 (Qt5.6.3) funktioniert leider Vagrant 2.2.6 nicht mehr mit dieser Version. Bei einem Befehl vagrant up erscheint folgende Fehlermeldung:

Fehlermeldung beim Befehl vagrant up

Meine VirtualBox Version sieht folgendermaßen aus:

Aktuelle VirtualBox Version 6.1

Mit Hilfe eines kleinen Workarounds habt ihr die Möglichkeit, VirtualBox 6.1 mit Vagrant 2.2.6 lauffähig zu machen.

Workaround

Als erstes öffnet ihr die Datei:
/opt/vagrant/embedded/gems/2.2.6/gems/vagrant-2.2.6/plugins/providers/virtualbox/plugin.rb

Dort sucht ihr nach dem Driver Module und ergänzt am Ende eine Zeile die Zeile:
autoload :Version_6_1, File.expand_path("../driver/version_6_1", __FILE__)

Zur Veranschaulichung einmal ein Vorher- und Nachherbild.

Vorher:

module Driver
  autoload :Meta, File.expand_path("../driver/meta", __FILE__)
  autoload :Version_4_0, File.expand_path("../driver/version_4_0", __FILE__)
  autoload :Version_4_1, File.expand_path("../driver/version_4_1", __FILE__)
  autoload :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("../driver/version_5_1", __FILE__)
  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

Nachher:

module Driver
  autoload :Meta, File.expand_path("../driver/meta", __FILE__)
  autoload :Version_4_0, File.expand_path("../driver/version_4_0", __FILE__)
  autoload :Version_4_1, File.expand_path("../driver/version_4_1", __FILE__)
  autoload :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("../driver/version_5_1", __FILE__)
  autoload :Version_5_2, File.expand_path("../driver/version_5_2", __FILE__)
  autoload :Version_6_0, File.expand_path("../driver/version_6_0", __FILE__)
  autoload :Version_6_1, File.expand_path("../driver/version_6_1", __FILE__)
end

Als nächstes öffnet ihr die Datei:
/opt/vagrant/embedded/gems/2.2.6/gems/vagrant-2.2.6/plugins/providers/virtualbox/driver/meta.rb

Dort sucht ihr nach driver_map und ergänzt am Ende eine Zeile die Zeile:
"6.1" => Version_6_1,

Auch hier nochmals zur Veranschaulichung ein Vorher- und Nachherbild.

Vorher:

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,
}

Nachher:

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,
    "6.1" => Version_6_1,
}

Im letzten Schritt müsst ihr die Datei version_6_1.rb im Ordner /opt/vagrant/embedded/gems/2.2.6/gems/vagrant-2.2.6/plugins/providers/virtualbox/driver anlegen.

In diese Datei fügt ihr folgenden Inhalt ein:

require File.expand_path("../version_6_0", __FILE__)
module VagrantPlugins
  module ProviderVirtualBox
    module Driver
      # Driver for VirtualBox 6.1.x
      class Version_6_1 < Version_6_0
        def initialize(uuid)
          super
          @logger = Log4r::Logger.new("vagrant::provider::virtualbox_6_1")
        end
      end
    end
  end
end

Wenn ihr eure virtuellen Maschinen nun mit vagrant up starten oder provisionieren möchtet, sollte alles wieder problemlos funktionieren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Kontakt

Ihre Full-Stack-Entwickler aus Köln

Seit mehr als 12 Jahren stehe ich meinen Kunden in Köln und deutschlandweit als Full-Stack-Entwickler zur Verfügung.

Neben der grundlegenden Entwicklung von modernen Webseiten liegen meine Stärken bei der Beratung und der Betreuung komplexer Internetanwendungen.

Habe ich Ihr Interesse geweckt? – Dann nehmen Sie doch gerne Kontakt mit mir auf. Ich werde mich umgehend mit Ihnen in Verbindung setzen.

2020 © Thorsten Kötzsch