可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
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
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?
回答1:
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
回答2:
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.
回答3:
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:
- Install Cygwin and then launch
vagrant up
from its Cygwin Terminal
- Download & unpack cwRsync
回答4:
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:
- Download the Cygwin from https://mingw-w64.org/doku.php/download/cygwin
- 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)
- Add x:\cygwin\bin, where 'x' is the drive on which you have installed the cygwin distribution, to the SYSTEM PATH.
- Reboot your PC (not need on Windows 10)
That's all.
Thank you for your attention and have a nice day :-)
回答5:
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.
回答6:
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"
回答7:
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)
回答8:
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