78

I've used Vagrant for a while on a windows 7 system. Now I've a new PC with windows 10. I installed Oracle Virtual Box and Vagrant and I try to start a machine with the command vagrant up. The Vagrantfile is the same file that I used on my windows 7 system. This is the content of the 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

this is the error i get

The error I get: "rsync" could not be found on your PATH. Make sure that rsync is properly installed on your system and available on the PATH.

Why is Vagrant looking for rsync since I use Virtualbox? How can I workaround this error?

Stefan H
  • 1,063
  • 1
  • 10
  • 18
  • 1
    Stefan, it would be community friendly to accept an answer that has obviously helped lots of people and that answer your question – xverges Jun 15 '17 at 20:05

8 Answers8

158

I found in another forum that the local Vagrant directory is mounted as "/vagrant" via rsync. This is set in the box itself, you can check by opening

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

and see the setting

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

to get around this I added the following line in my local Vagrantfile

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

and the error was resolved

Mr Griever
  • 4,014
  • 3
  • 23
  • 41
  • 35
    Good advise +1, I had the same issue on *centos/7* which uses a different path on the guest, so the equivalent line in your local Vagrantfile would be ```config.vm.synced_folder ".", "/home/vagrant/sync", disabled: true``` – Till Kuhn Feb 05 '16 at 16:28
  • 7
    The latest release of the centos/7 image changed the default sync directory to /vagrant, so you will need to update the folder reference shown in @TillKuhn comment above `config.vm.synced_folder ".", "/vagrant", disabled: true` https://seven.centos.org/2016/08/updated-centos-vagrant-images-available-v1607-01/ – Daniel Watrous Aug 30 '16 at 20:59
  • 1
    This issue can ocourr after a box update. The Vagrantfile file change from current runing box. – Marcos Regis Apr 12 '17 at 13:46
38

I have solved this issue as below when use cent/7 at Windows 7.

Check the box synced_folder at C:\Users[username]\.vagrant.d\boxes\centos-VAGRANTSLASH-7\1602.02\virtualbox\Vagrantfile

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

Override the defition at project Vagrantfile for directory mapping.

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

I imagine the box might be prepared at non Windows system, this case can be happened on many boxes, such as fedora/23-cloud-base.

CMPS
  • 7,733
  • 4
  • 28
  • 53
user6131640
  • 381
  • 3
  • 2
11

Seems like a bug. You can report it here. But it seems that your bug has been already reported as the issue 6631.

Nevertheless you can try to add rsync to your PATH and check the result. You can do it in 2 ways:

  1. Install Cygwin and then launch vagrant up from its Cygwin Terminal
  2. Download & unpack cwRsync
G. Demecki
  • 10,145
  • 3
  • 58
  • 58
  • 6
    I missed this note at the latest debian/jessie vagrant box: switch to rsync as default method for synced folders, because vboxfs requires contrib or non-free packages So, the update to a new version of debian/jessie was the reason I needed rsync – Stefan H Dec 09 '15 at 15:42
  • I have the same error message on CentOS official box (centos/7). Cygwin has rsync package inside the installer when it shows you the list of additional packages to install. – Vladislav Rastrusny Jan 16 '16 at 20:05
  • @VladislavRastrusny try [bento/centos-7.1](https://atlas.hashicorp.com/bento/boxes/centos-7.1), which has the VirtualBox guest additions pre-installed – David Jan 19 '16 at 18:50
  • @David. Yep, switched to it until native image is fixed. If it ever be at all ;) – Vladislav Rastrusny Jan 20 '16 at 11:21
9

First of all this is not a bug it is expected behavior on Windows because the rsync is absent on Windows.

If you faced with this problem and want to use the rsync as a mechanism to sync folders you should:

  1. Download the Cygwin from https://mingw-w64.org/doku.php/download/cygwin
  2. Install the Cygwin with rsync + openssh modules. It's important bacause they is basent on a Window (you may select packages to install during installation on the Select packages phase)
  3. Add x:\cygwin\bin, where 'x' is the drive on which you have installed the cygwin distribution, to the SYSTEM PATH.
  4. Reboot your PC (not need on Windows 10)

That's all.

Thank you for your attention and have a nice day :-)

Pavel Artanov
  • 469
  • 6
  • 6
  • 1
    Most helpful answer if you have installed cygwin or mobaxterm anyway! For mobaxterm default installation, the path to add is `C:\Users\\Documents\MobaXterm\slash\bin`. For me it's enough to add this to PATH, SYSTEM PATH is not needed. – absurd Apr 12 '17 at 08:59
4

Using Vagrant/VirtualBox (5.06) on Windows7 with centos/7 box from Atlas: could not find rsync on the path. So, I installed via cygwin as suggested (had other stuff to install as well, including openssh). No joy. Tried changing the shared folder config to "virtualbox" rather than "rsync". No joy. Oh, forgot to check if the VirtualBox guest additions were in the box: they were not. Rsync worked bettter, but still chocked at the end (could not chdir to the source directory of the shared folder). However, the "type: virtualbox" config did work!

So the datapoint is: centos/7 with guest additions added and shared folder type set to "virtualbox" (overriding the box setting) on windows 7 works.

Worked out of the box (no changes, no guest additions) on MacOS.

ranger6
  • 41
  • 1
2

I was facing same issue on Windows 10. Removing the below line helped me to fix the issue

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

File: VagrantFile

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

Next Steps:

Save the file Open cygwin terminal Go to vagrant directory Run "vagrant up"

Ram
  • 21
  • 1
  • Would like to add that after updating the vagrant box, when vagrant wants to boot the updated version, Vagrantfile in the path mentioned by Rath is what comes with the box (and therefore may contain value not compatible with your environment). Additionally you can simply change the value from `rsync` to `virtualbox` (if virtualbox is your VM engine). – TomasH Nov 27 '17 at 09:26
1

I was able to fix this problen using another bos from C:\Users{your_username}.vagrant.d\boxes\box\subfolder\virtualbox\Vagrantfile

And adding

# 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)
Florin Marin
  • 398
  • 5
  • 14
1

I've tried the advises above but it didn't help. I use Windows 7, vagrant 1.9.1 As vm box I use centos 7 without guest addition installed.

vm.box = "centos/7"

To resolve this issue change clean 'vm.box' to box with preinstalled guest addition, for example

vm.box = "geerlingguy/centos7"

And also make sure there is no vbguest plugin installed because another error appears

vagrant plugin list

vagrant plugin uninstall vagrant-vbguest

Kate
  • 294
  • 1
  • 5
  • 14