2017-10-26 4 views
0

tut ich auf dieser obskuren Sache heute kam, so dass ich dachte, dass ich hier die Lösung abgeben würde für die Nachwelt :)Vagrant Box nicht gesehen/erkannt, wenn vagrant bis

unter Windows, wenn Sie eine Vagabund Box in normalen erstellen Befehlszeile/PowerShell, die Box funktioniert einwandfrei und alle Änderungen bleiben bestehen. manchmal

Wenn Sie jedoch vagrant tun up, verhält es sich, als ob Ihre Box nie existiert, obwohl man deutlich die .vagrant/machines/default/ Struktur im Verzeichnis des Vagrantfile sehen können, und es existiert in zB. C:\Users\<yourname>\VirtualBox VMs\

Grundsätzlich erhalten Sie eine "leere" Box.

Antwort

0

Der Grund ist, dass Sie es im Grunde als einen anderen Benutzer ausführen. Da die Boxen in benutzerspezifische Verzeichnisse in Windows gespeichert sind, ist es im Grunde genau das - die Box existiert nicht für den aktuellen Benutzer.

Dies geschieht, wenn Sie versuchen, vagrant up in einer erhöhten Befehlszeile (Ausführen als Administrator) zu tun. Sie führen es nicht mehr als Sie selbst, sondern als Admin. Und solange das Admin-Konto in C:\Users\<admin>\VirtualBox VMs\ keine eigene virtuelle Box hat, ist es leer. Es wird eine unabhängige Box sein, sogar mit der exakt gleichen Vagrantfile, die für vagrant up verwendet wird.

Aber das ist nicht alles, es ist eine große Sache, die Sie brauchen wirklich vorsichtig mit sein:

Wenn Sie vagrant up in der erhöhten Konsole tun, nachdem es ursprünglich als normaler Benutzer zu schaffen, das Original Box Config wird verschwinden!, was bedeutet, wenn Sie wieder vagrant up als normaler Benutzer in der normalen Konsole tun, werden Sie keine Ihrer Anpassungen in der Box mehr sehen. Allerdings ist die gute Nachricht, dass es nicht dauerhaft verschwunden sein, aber Sie müssen einige manuelle Schritte tun, um es zu beheben wieder normal:

  1. in der Konsole cd C:\Program Files\Oracle\VirtualBox\
  2. Dann laufen: VBoxManage.exe list vms
  3. Die Ausgabe ist etwas wie: "ubuntu1604_default_1508830573432_14276" {4a7e6cf3-c611-42b4-a5c2-5760314f7169} "ubuntu1604_default_1509090573432_27275" {abcdef23-c613-62b4-55c2-aa60314f7169}
  4. Sie müssen herausfinden, welche von diesen die erste ist. Ich bin nicht 100% sicher, aber ich denke, der erste wird einen kleineren Wert im ersten Teil nach default haben, also im obigen Fall ist die erste Zeile das Original (150883 < 150909)
  5. Kopieren Sie die UUID am Ende der das Original (4a7e6cf3-c611-42b4-a5c2-5760314f7169).
  6. dann die Datei in C:\Path\To\Project\.vagrant\machines\virtualbox\default\id
  7. ändern Sie den Inhalt der Datei ändern aus, was auch immer vorhanden ist (es ist wahrscheinlich die UUID der Sekunde Reihe) auf die UUID in Schritt 5
  8. Speichern Sie die Datei
  9. Jetzt tun vagrant up in einer normalen Konsole. Es sollte wieder in die ursprüngliche Box starten und alle Ihre Konfigurationen und Einstellungen sollten noch existieren.

Hoffe, das hilft!