Recently we converted one of project to use Vagrant Rsync Folders instead of the default VirtualBox shared folders setup. After running the vagrant rsync-auto command for a while we realized that the symlinks in Composers ./vendor/bin/ where replaced with the content of the previously symlinked files. This made the commands unusable.
After a bit of investigation is was clear what was happening: Vagrant does not by default pass the -l flag to rsync which means symlinks are not preserved (even though the vendor folder was not copied to the guest vm). To fix this we had to adjust the rsync options by setting the rsync__args for the folder to:
Since quite a while Vagrant has support for syncing folders via rsync. While it is quite easy to set things up on a linux box, I was struggling a bit to get things going on a windows host. As the vagrant docs recommended I installed rsync and ssh client via the Cygwin package. After running "vagrant up" I got an error from the Vagrant rsync plugin stating "No such file or directory". Via Google search I came across a bug report on Github. As it turns out the problem seems to occur because Vagrant "tries to be smart and detect the environment but it obviously doesn't work reliably". The proposed solution is to patch the Vagrant ruby sources. You have to edit the file C:\HashiCorp\Vagrant\embedded\gems\gems\vagrant-1.6.3\plugins\synced_folders\rsync\helper.rb and change line 43 to: