Vagrant mit VirtualBox unter Windows 10: "Rsync" wurde in Ihrem PATH nicht gefunden


78

Ich habe Vagrant für eine Weile auf einem Windows 7-System verwendet. Jetzt habe ich einen neuen PC mit Windows 10. Ich habe Oracle Virtual Box und Vagrant installiert und versuche, einen Computer mit dem Befehl vagrant zu starten. Die Vagrant-Datei ist dieselbe Datei, die ich auf meinem Windows 7-System verwendet habe. Dies ist der Inhalt der Vagrant-Datei:

Vagrant.configure(2) do |config|
config.vm.box = "debian/jessie64"

config.vm.provider "virtualbox" do |v|
    v.customize ["modifyvm", :id, "--memory", "768"]
end
config.vm.provision :shell, path: "bootstrap.sh"

config.vm.network :private_network, ip: "172.27.146.17"
config.vm.hostname = "www.delevensstijl.hst1.nl"
config.hostsupdater.aliases = ["www.thelifestylemethod.hst1.nl"]

end

Das ist der Fehler, den ich bekomme

Der Fehler, den ich bekomme: "rsync" konnte auf Ihrem PATH nicht gefunden werden. Stellen Sie sicher, dass rsync ordnungsgemäß auf Ihrem System installiert und auf dem PATH verfügbar ist.

Warum sucht Vagrant nach rsync, seit ich Virtualbox verwende? Wie kann ich diesen Fehler umgehen?


1
Stefan, es wäre gemeinschaftsfreundlich, eine Antwort zu akzeptieren, die offensichtlich vielen Menschen geholfen hat und die Ihre Frage beantwortet
xverges

Antworten:


158

Ich habe in einem anderen Forum festgestellt, dass das lokale Vagrant-Verzeichnis über rsync als "/ vagrant" bereitgestellt wird. Dies ist in der Box selbst eingestellt, die Sie durch Öffnen überprüfen können

C: \ Benutzer \ {Ihr_Benutzername} \. Vagrant.d \ boxen \ debian-VAGRANTSLASH-jessie64 \ 8.2.2 \ virtualbox \ Vagrantfile

und sehen Sie die Einstellung

  config.vm.synced_folder \
    ".",
    "/vagrant",
    type: "rsync"

Um dies zu umgehen, habe ich die folgende Zeile in meine lokale Vagrant-Datei eingefügt

  config.vm.synced_folder ".", "/vagrant", type: "virtualbox"

und der Fehler wurde behoben


35
Guter Rat +1, ich hatte das gleiche Problem bei Centos / 7 , das einen anderen Pfad für den Gast verwendet, sodass die entsprechende Zeile in Ihrer lokalen Vagrant-Datei lautetconfig.vm.synced_folder ".", "/home/vagrant/sync", disabled: true
Bis Kuhn,

6
In der neuesten Version des Centos / 7-Images wurde das Standard-Synchronisierungsverzeichnis in / vagrant geändert. Sie müssen daher die Ordnerreferenz aktualisieren, die im @ TillKuhn-Kommentar über config.vm.synced_folder ".", "/vagrant", disabled: true Seven.centos.org/2016/08/… angezeigt wird.
Daniel Watrous

1
Dieses Problem kann nach einem Box-Update auftreten. Die Vagrantfile-Datei ändert sich von der aktuellen Ausführungsbox.
Marcos Regis

38

Ich habe dieses Problem wie folgt gelöst, wenn ich cent / 7 unter Windows 7 verwende.

Aktivieren Sie das Kontrollkästchen synced_folder unter C: \ Users [Benutzername] \. Vagrant.d \ boxen \ centos-VAGRANTSLASH-7 \ 1602.02 \ virtualbox \ Vagrantfile

config.vm.synced_folder ".", "/home/vagrant/sync", type: "rsync"   

Überschreiben Sie die Definition im Projekt Vagrantfile für die Verzeichniszuordnung.

config.vm.synced_folder ".", "/home/vagrant/sync", type: "virtualbox"  

Ich stelle mir vor, dass die Box möglicherweise auf einem Nicht-Windows-System vorbereitet ist. Dieser Fall kann auf vielen Boxen auftreten, z. B. auf Fedora / 23-Cloud-Base.


11

Scheint wie ein Fehler. Sie können es hier melden . Es scheint jedoch, dass Ihr Fehler bereits als Problem 6631 gemeldet wurde .

Trotzdem können Sie versuchen, rsyncIhre zu ergänzen PATHund das Ergebnis zu überprüfen. Sie können dies auf zwei Arten tun:

  1. Installieren Sie Cygwin und starten Sie es vagrant upvon seinem Cygwin-Terminal aus
  2. Laden Sie cwRsync herunter und entpacken Sie es

6
Ich habe diesen Hinweis in der neuesten Debian / Jessie-Vagrant-Box verpasst: Wechseln Sie zu rsync als Standardmethode für synchronisierte Ordner, da für vboxfs Contrib- oder nicht kostenlose Pakete erforderlich sind. Daher war das Update auf eine neue Version von Debian / Jessie der Grund, warum ich Rsync benötigte
Stefan H

Danke für die Hilfe!
Stefan H

Ich habe die gleiche Fehlermeldung auf der offiziellen CentOS-Box (centos / 7). Cygwin hat ein rsync-Paket im Installationsprogramm, wenn es Ihnen die Liste der zu installierenden zusätzlichen Pakete anzeigt.
Vladislav Rastrusny

@VladislavRastrusny versuchen Sie Bento / Centos-7.1 , die die VirtualBox-Gast-Ergänzungen vorinstalliert hat
David

@David. Ja, darauf geschaltet, bis das native Bild repariert ist. Wenn es überhaupt jemals sein sollte;)
Vladislav Rastrusny

9

Erstens ist dies kein Fehler. Es wird ein Verhalten unter Windows erwartet, da der rsync unter Windows nicht vorhanden ist.

Wenn Sie mit diesem Problem konfrontiert sind und rsync als Mechanismus zum Synchronisieren von Ordnern verwenden möchten, sollten Sie:

  1. Laden Sie den Cygwin von https://mingw-w64.org/doku.php/download/cygwin herunter
  2. Installieren Sie den Cygwin mit den Modulen rsync + openssh . Dies ist wichtig, da sie auf einem Fenster basieren (Sie können Pakete auswählen, die während der Installation in der Phase " Pakete auswählen" installiert werden sollen).
  3. Fügen Sie dem SYSTEM PATH x: \ cygwin \ bin hinzu , wobei 'x' das Laufwerk ist, auf dem Sie die cygwin-Distribution installiert haben .
  4. Starten Sie Ihren PC neu (unter Windows 10 nicht erforderlich)

Das ist alles.

Vielen Dank für Ihre Aufmerksamkeit und einen schönen Tag :-)


1
Die hilfreichste Antwort, wenn Sie Cygwin oder Mobaxterm trotzdem installiert haben! Für die Standardinstallation von mobaxterm lautet der hinzuzufügende Pfad C:\Users\<username>\Documents\MobaXterm\slash\bin. Für mich ist es genug, dies zu PATH hinzuzufügen, SYSTEM PATH wird nicht benötigt.
absurd

4

Verwenden von Vagrant / VirtualBox (5.06) unter Windows 7 mit der Centos / 7-Box von Atlas: rsync konnte im Pfad nicht gefunden werden. Also habe ich wie vorgeschlagen über cygwin installiert (hatte auch andere Dinge zu installieren, einschließlich openssh). Keine Freude. Es wurde versucht, die Konfiguration des freigegebenen Ordners in "virtualbox" anstatt in "rsync" zu ändern. Keine Freude. Oh, ich habe vergessen zu überprüfen, ob die VirtualBox-Gastzusätze in der Box waren: Sie waren es nicht. Rsync funktionierte besser, war aber am Ende immer noch blockiert (konnte nicht in das Quellverzeichnis des freigegebenen Ordners wechseln). Die Konfiguration "type: virtualbox" hat jedoch funktioniert!

Der Datenpunkt lautet also: centos / 7 mit hinzugefügten Gastzugaben und dem freigegebenen Ordnertyp "virtualbox" (Überschreiben der Boxeinstellung) unter Windows 7 funktioniert.

Unter MacOS sofort einsatzbereit (keine Änderungen, keine Gastzugaben).


2

Unter Windows 10 trat das gleiche Problem auf. Durch Entfernen der folgenden Zeile konnte ich das Problem beheben

Verzeichnis: C: \ Benutzer \ xxxxxxxxxxxxx.vagrant.d \ boxen \ manageiq-VAGRANTSLASH-euwe \ 5.1.0 \ virtualbox

Datei: VagrantFile

Zu entfernende Zeile: config.vm.synced_folder ".", "/ Home / vagrant / sync", Typ: "rsync"

Nächste Schritte:

Speichern Sie die Datei. Öffnen Sie das Cygwin-Terminal. Gehen Sie zum Vagrant-Verzeichnis. Führen Sie "vagrant up" aus.


Ich möchte hinzufügen, dass nach dem Aktualisieren der Vagrant-Box, wenn Vagrant die aktualisierte Version starten möchte, Vagrantfile in dem von Rath genannten Pfad mit der Box geliefert wird (und daher möglicherweise einen Wert enthält, der nicht mit Ihrer Umgebung kompatibel ist). Zusätzlich können Sie einfach ändern Sie den Wert von rsyncauf virtualbox(wenn VirtualBox VM Motor ist).
TomasH

1

Ich konnte dieses Problem mit einem anderen BS aus C: \ Benutzer {Ihr_Benutzername} .vagrant.d \ boxen \ box \ Unterordner \ virtualbox \ Vagrantfile beheben

Und hinzufügen

# Load include vagrant file if it exists after the auto-generated
# so it can override any of the settings

include_vagrantfile = File.expand_path("../include/_Vagrantfile", __FILE__)

load include_vagrantfile if File.exist?(include_vagrantfile)

1

Ich habe die oben genannten Ratschläge ausprobiert, aber es hat nicht geholfen. Ich verwende Windows 7, Vagrant 1.9.1 Als VM-Box verwende ich Centos 7 ohne installierten Gastzusatz.

vm.box = "centos/7"

Um dieses Problem zu beheben, ändern Sie beispielsweise "vm.box" in "Box" mit vorinstalliertem Gastzusatz

vm.box = "geerlingguy/centos7"

Stellen Sie außerdem sicher, dass kein vbguest-Plugin installiert ist, da ein anderer Fehler auftritt

vagrant plugin list

vagrant plugin uninstall vagrant-vbguest

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.