Windows10上带有VirtualBox的流浪汉:在您的PATH上找不到“ Rsync”


78

我在Windows 7系统上使用Vagrant已有一段时间。现在,我有一台装有Windows 10的新PC。我安装了Oracle Virtual Box和Vagrant,然后尝试启动一个带有vagrant命令的计算机。Vagrantfile与我在Windows 7系统上使用的文件相同。这是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

这是我得到的错误

我收到的错误:“ rsync”在您的PATH上找不到。确保rsync已正确安装在系统上,并且在PATH中可用。

自从我使用Virtualbox以来,为什么Vagrant正在寻找rsync?如何解决此错误?


1
斯特凡,接受一个显然可以帮助很多人并且可以回答您问题的答案,将对社区友好
xverges

Answers:


158

我在另一个论坛上发现,本地Vagrant目录通过rsync挂载为“ / vagrant”。这是在框中设置的,您可以通过打开

C:\ Users \ {您的用户名} \。vagrant.d \ boxes \ debian-VAGRANTSLASH-jessie64 \ 8.2.2 \ virtualbox \ Vagrantfile

并查看设置

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

为了解决这个问题,我在本地Vagrantfile中添加了以下行

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

错误已解决


35
好的建议+1,我在centos / 7上遇到了相同的问题,该问题在来宾上使用了不同的路径,因此您本地Vagrantfile中的等效行将为 config.vm.synced_folder ".", "/home/vagrant/sync", disabled: true
Till Kuhn

6
最新版本的centos / 7映像将默认同步目录更改为/ vagrant,因此您将需要更新Seven.centos.org/2016/08/…上方config.vm.synced_folder ".", "/vagrant", disabled: true @TillKuhn
Daniel Watrous

1
盒子更新后,这个问题可能会加剧。Vagrantfile文件从当前运行框更改。
马科斯·里吉斯

38

在Windows 7上使用cent / 7时,我已经解决了以下问题。

选中位于C:\ Users [用户名] \。vagrant.d \ boxes \ centos-VAGRANTSLASH-7 \ 1602.02 \ virtualbox \ Vagrantfile的框synced_folder

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

覆盖项目Vagrantfile的定义以进行目录映射。

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

我想这个盒子可能是在非Windows系统上准备的,这种情况可能发生在很多盒子上,例如fedora / 23-cloud-base。


11

好像是个错误。您可以在这里报告。但是,看来您的错误已经报告为问题6631

不过,您可以尝试将其添加rsync到您的设备PATH并检查结果。您可以通过以下两种方式进行操作:

  1. 安装Cygwin,然后vagrant up从其Cygwin终端启动
  2. 下载并解压缩cwRsync

6
我在最新的debian / jessie游民思框上错过了此说明:切换到rsync作为同步文件夹的默认方法,因为vboxfs需要contrib或非免费软件包因此,更新到新版本的debian / jessie是我需要rsync的原因
Stefan H

谢谢您的帮助!
Stefan H

我在CentOS官方包装盒(centos / 7)上有相同的错误消息。当Cygwin向您显示要安装的其他软件包的列表时,它将在安装程序中包含rsync软件包。
弗拉迪斯拉夫·拉斯特鲁尼(Fladislav Rastrusny),2016年

@VladislavRastrusny试试bento / centos-7.1,它已经预安装了VirtualBox来宾功能
David

@大卫。是的,切换到它,直到修复本地图像。如果有的话;)
弗拉迪斯拉夫·拉斯特鲁斯尼

9

首先,这不是Windows上的预期错误,因为Windows上没有rsync。

如果您遇到此问题,并且想将rsync用作同步文件夹的机制,则应该:

  1. https://mingw-w64.org/doku.php/download/cygwin下载Cygwin
  2. 使用rsync + openssh模块安装Cygwin 。重要的是,因为它们基于窗口(您可以在“选择软件包”阶段中选择要在安装过程中安装的软件包
  3. x:\ cygwin \ bin(其中“ x”是已安装cygwin发行版的驱动器)添加到SYSTEM PATH
  4. 重新启动PC(在Windows 10上不需要)

就这样。

谢谢您的关注,并祝您愉快:-)


1
如果您已经安装了cygwin或mobaxterm,则为最有帮助的答案!对于mobaxterm默认安装,添加路径为C:\Users\<username>\Documents\MobaXterm\slash\bin。对我来说,将其添加到PATH就足够了,不需要SYSTEM PATH。
荒谬

4

在Windows7上将Vagrant / VirtualBox(5.06)与来自Atlas的centos / 7 box一起使用:在路径上找不到rsync。因此,我按照建议通过cygwin安装(还需要安装其他东西,包括openssh)。不开心 尝试将共享文件夹配置更改为“ virtualbox”,而不是“ rsync”。不开心 哦,忘记检查VirtualBox来宾添加项是否在框中:否。Rsync可以更好地工作,但是最后还是很麻烦(无法chdir到共享文件夹的源目录)。但是,“类型:virtualbox”配置确实起作用了!

因此,数据点是:在Windows 7上,centos / 7中添加了来宾添加项,并且共享文件夹类型设置为“ virtualbox”(覆盖框设置)。

在MacOS上开箱即用(无更改,无来宾添加)。


2

我在Windows 10上也遇到了相同的问题。删除以下行有助于我解决此问题。

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

文件:VagrantFile

要删除的行:config.vm.synced_folder“。”,“ / home / vagrant / sync”,键入:“ rsync”

下一步:

保存文件打开cygwin终端转到vagrant目录运行“ vagrant up”


想要补充的是,在更新了无业游民框之后,当无业游民想要启动更新的版本时,该框随附了Rath提到的路径中的Vagrantfile(因此可能包含与您的环境不兼容的值)。另外,您可以简单地将值从更改rsyncvirtualbox(如果virtualbox是您的VM引擎)。
TomasH '17

1

我可以使用C:\ Users {您的用户名} .vagrant.d \ boxes \ box \ subfolder \ virtualbox \ Vagrantfile中的另一个bos来解决此问题

并添加

# 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

我已经尝试了上面的建议,但没有帮助。我使用Windows 7,流浪汉1.9.1作为vm box,我使用centos 7,未安装来宾添加。

vm.box = "centos/7"

要解决此问题,例如,将带有预先安装的来宾添加的“ vm.box”更改为box

vm.box = "geerlingguy/centos7"

还要确保没有安装vbguest插件,因为会出现另一个错误

vagrant plugin list

vagrant plugin uninstall vagrant-vbguest

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.