Vagrant con VirtualBox en Windows10: "Rsync" no se pudo encontrar en su PATH


78

He usado Vagrant durante un tiempo en un sistema Windows 7. Ahora tengo una nueva PC con Windows 10. Instalé Oracle Virtual Box y Vagrant e intento iniciar una máquina con el comando vagrant. El Vagrantfile es el mismo archivo que utilicé en mi sistema Windows 7. Este es el contenido del Vagrantfile:

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

este es el error que me sale

El error que obtengo: "rsync" no se pudo encontrar en su RUTA. Asegúrese de que rsync esté correctamente instalado en su sistema y disponible en la RUTA.

¿Por qué Vagrant busca rsync desde que uso Virtualbox? ¿Cómo puedo solucionar este error?


1
Stefan, sería amigable para la comunidad aceptar una respuesta que obviamente ha ayudado a mucha gente y que responde a tu pregunta
xverges

Respuestas:


158

Encontré en otro foro que el directorio local de Vagrant está montado como "/ vagrant" a través de rsync. Esto se establece en la propia caja, puede verificar abriendo

C: \ Users \ {your_username} \. Vagrant.d \ boxes \ debian-VAGRANTSLASH-jessie64 \ 8.2.2 \ virtualbox \ Vagrantfile

y ver el escenario

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

para evitar esto, agregué la siguiente línea en mi Vagrantfile local

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

y se resolvió el error


35
Buen consejo +1, tuve el mismo problema en centos / 7 que usa una ruta diferente en el invitado, por lo que la línea equivalente en su Vagrantfile local sería config.vm.synced_folder ".", "/home/vagrant/sync", disabled: true
Hasta Kuhn

6
La última versión de la imagen centos / 7 cambió el directorio de sincronización predeterminado a / vagrant, por lo que deberá actualizar la referencia de la carpeta que se muestra en el comentario de config.vm.synced_folder ".", "/vagrant", disabled: true @TillKuhn
Daniel Watrous

1
Este problema puede surgir después de una actualización de caja. El archivo Vagrantfile cambia de la caja de ejecución actual.
Marcos Regis

38

He resuelto este problema como se muestra a continuación cuando uso cent / 7 en Windows 7.

Marque la casilla synced_folder en C: \ Users [nombre de usuario] \. Vagrant.d \ boxes \ centos-VAGRANTSLASH-7 \ 1602.02 \ virtualbox \ Vagrantfile

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

Anule la definición en el proyecto Vagrantfile para la asignación de directorios.

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

Me imagino que la caja podría estar preparada en un sistema que no sea Windows, este caso puede ocurrir en muchas cajas, como fedora / 23-cloud-base.


11

Parece un error. Puedes denunciarlo aquí . Pero parece que su error ya ha sido informado como el problema 6631 .

Sin embargo, puede intentar agregar rsynca su PATHy verificar el resultado. Puedes hacerlo de 2 formas:

  1. Instale Cygwin y luego inicie vagrant updesde su Terminal Cygwin
  2. Descarga y descomprime cwRsync

6
Me perdí esta nota en la última caja de debian / jessie vagrant: cambie a rsync como método predeterminado para carpetas sincronizadas, porque vboxfs requiere paquetes contrib o no gratuitos Entonces, la actualización a una nueva versión de debian / jessie fue la razón por la que necesitaba rsync
Stefan H

Tengo el mismo mensaje de error en el cuadro oficial de CentOS (centos / 7). Cygwin tiene un paquete rsync dentro del instalador cuando le muestra la lista de paquetes adicionales para instalar.
Vladislav Rastrusny

@VladislavRastrusny prueba bento / centos-7.1 , que tiene preinstaladas las adiciones de invitados de VirtualBox
David

@David. Sí, cambié a él hasta que se arregle la imagen nativa. Si alguna vez lo es;)
Vladislav Rastrusny

9

En primer lugar, esto no es un error , es un comportamiento esperado en Windows porque el rsync está ausente en Windows.

Si se enfrenta a este problema y desea utilizar rsync como mecanismo para sincronizar carpetas, debe:

  1. Descargue Cygwin de https://mingw-w64.org/doku.php/download/cygwin
  2. Instale Cygwin con los módulos rsync + openssh . Es importante porque se basan en una ventana (puede seleccionar paquetes para instalar durante la instalación en la fase Seleccionar paquetes )
  3. Agregue x: \ cygwin \ bin , donde 'x' es la unidad en la que ha instalado la distribución cygwin, a la RUTA DEL SISTEMA .
  4. Reinicie su PC (no es necesario en Windows 10)

Eso es todo.

Gracias por su atención y que tenga un buen día :-)


1
¡La respuesta más útil si ha instalado cygwin o mobaxterm de todos modos! Para la instalación predeterminada de mobaxterm, la ruta para agregar es C:\Users\<username>\Documents\MobaXterm\slash\bin. Para mí es suficiente agregar esto a PATH, SYSTEM PATH no es necesario.
absurdo

4

Usando Vagrant / VirtualBox (5.06) en Windows7 con centos / 7 box de Atlas: no se pudo encontrar rsync en la ruta. Entonces, lo instalé a través de cygwin como se sugirió (también tenía otras cosas para instalar, incluido openssh). Sin alegría. Intenté cambiar la configuración de la carpeta compartida a "virtualbox" en lugar de "rsync". Sin alegría. Oh, olvidé verificar si las adiciones de invitados de VirtualBox estaban en la caja: no lo estaban. Rsync funcionó mejor, pero aún se bloqueó al final (no se pudo acceder al directorio de origen de la carpeta compartida). Sin embargo, la configuración "type: virtualbox" funcionó!

Entonces, el punto de datos es: centos / 7 con adiciones de invitados agregadas y el tipo de carpeta compartida establecido en "virtualbox" (anulando la configuración de la caja) en Windows 7 funciona.

Funcionó de inmediato (sin cambios, sin adiciones de invitados) en MacOS.


2

Estaba enfrentando el mismo problema en Windows 10. Eliminar la línea siguiente me ayudó a solucionar el problema

Directorio: C: \ Users \ xxxxxxxxxxxxx.vagrant.d \ boxes \ manageiq-VAGRANTSLASH-euwe \ 5.1.0 \ virtualbox

Archivo: VagrantFile

Línea para eliminar: config.vm.synced_folder ".", "/ Home / vagrant / sync", escriba: "rsync"

Próximos pasos:

Guarde el archivo Abra el terminal cygwin Vaya al directorio vagrant Ejecute "vagrant up"


Me gustaría agregar que después de actualizar la caja vagrant, cuando vagrant quiere arrancar la versión actualizada, Vagrantfile en la ruta mencionada por Rath es lo que viene con la caja (y por lo tanto puede contener un valor no compatible con su entorno). Además, puede simplemente cambiar el valor de rsynca virtualbox(si virtualbox es su motor de VM).
TomasH

1

Pude solucionar este problema usando otro bos de C: \ Users {your_username} .vagrant.d \ boxes \ box \ subfolder \ virtualbox \ Vagrantfile

Y agregando

# 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

Probé los consejos anteriores pero no sirvieron de nada. Yo uso Windows 7, vagrant 1.9.1 Como vm box, uso centos 7 sin la adición de invitados instalada.

vm.box = "centos/7"

Para resolver este problema, cambie limpio 'vm.box' a cuadro con la adición de invitado preinstalado, por ejemplo

vm.box = "geerlingguy/centos7"

Y también asegúrese de que no haya ningún complemento vbguest instalado porque aparece otro error

vagrant plugin list

vagrant plugin uninstall vagrant-vbguest

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.