Vagrant з VirtualBox у Windows10: “Rsync” не знайдено на вашому PATH


78

Я деякий час використовував Vagrant в системі Windows 7. Зараз у мене новий ПК з Windows 10. Я встановив Oracle Virtual Box і Vagrant і намагаюся запустити машину з командою vagrant up. 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.

Чому Vagrant шукає rsync, оскільки я використовую Virtualbox? Як я можу вирішити цю помилку?


1
Стефане, було б доброзичливо для громади прийняти відповідь, яка, очевидно, допомогла
багатьом

Відповіді:


158

На іншому форумі я виявив, що локальний каталог Vagrant змонтований як "/ vagrant" через rsync. Це встановлено в самому полі, ви можете перевірити, відкривши

C: \ Користувачі \ {ім'я_користувача} \. 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
до Куна

6
Останній випуск образу centos / 7 змінив каталог синхронізації за замовчуванням на / vagrant, тому вам потрібно буде оновити посилання на папку, показану в коментарі config.vm.synced_folder ".", "/vagrant", disabled: true @TillKuhn
Даніель

1
Ця проблема може виникнути після оновлення коробки. Файл Vagrantfile змінився з поточного вікна запуску.
Маркос Регіс

38

Я вирішив цю проблему, як показано нижче, під час використання cent / 7 у Windows 7.

Поставте прапорець у папці synced_fold на C: \ Users [ім'я користувача] \. Vagrant.d \ boxes \ centos-VAGRANTSLASH-7 \ 1602.02 \ virtualbox \ Vagrantfile

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 vagrant: перейдіть на rsync як метод за замовчуванням для синхронізованих папок, оскільки vboxfs вимагає contrib або невільних пакетів Отже, оновлення до нової версії debian / jessie стало причиною того, що мені потрібен rsync
Stefan H

У мене таке ж повідомлення про помилку в офіційному вікні CentOS (centos / 7). Cygwin має пакет rsync всередині інсталятора, коли він показує вам список додаткових пакетів для встановлення.
Владислав Раструсний

@VladislavRastrusny спробуйте bento / centos-7.1 , на якому попередньо встановлені гостьові доповнення VirtualBox
Девід

@David. Так, переключився на нього, доки не буде виправлено рідне зображення. Якщо взагалі коли-небудь буде;)
Владислав Раструсний

9

Перш за все, це не помилка, це очікувана поведінка в Windows, оскільки rsync відсутній у Windows.

Якщо ви зіткнулися з цією проблемою і хочете використовувати rsync як механізм синхронізації папок, вам слід:

  1. Завантажте Cygwin з https://mingw-w64.org/doku.php/download/cygwin
  2. Встановіть Cygwin за допомогою модулів rsync + openssh . Важливо, тому що вони базуються на вікні (ви можете вибрати пакети для встановлення під час інсталяції на Виберіть пакети фазі )
  3. Додайте x: \ cygwin \ bin , де 'x' - це диск, на якому ви встановили розподіл cygwin, до СИСТЕМНОГО ШЛЯХУ. .
  4. Перезавантажте ПК (не потрібно в Windows 10)

Це все.

Дякуємо за увагу та приємного дня :-)


1
Найкорисніша відповідь, якщо ви все одно встановили cygwin або mobaxterm! Для встановлення mobaxterm за замовчуванням шлях для додавання є C:\Users\<username>\Documents\MobaXterm\slash\bin. Для мене досить додати це до PATH, SYSTEM PATH не потрібен.
абсурд

4

Використання Vagrant / VirtualBox (5.06) на Windows7 з полем centos / 7 від Atlas: не вдалося знайти rsync на шляху. Отже, я встановив за допомогою cygwin, як було запропоновано (також потрібно було встановити інші речі, включаючи openssh). Ніякої радості. Спробував змінити конфігурацію спільної папки на "virtualbox", а не "rsync". Ніякої радості. О, забув перевірити, чи додано гостьові доповнення VirtualBox: вони не були. Rsync працював краще, але все-таки забився в кінці (не вдалося перейти до вихідного каталогу спільної папки). Однак конфігурація "type: virtualbox" справді спрацювала!

Отже, точка даних: centos / 7 із доданими гостьовими доповненнями, а тип спільної папки встановлений на "virtualbox" (перевизначення параметрів поля) у Windows 7 працює.

Працює нестандартно (без змін, без гостьових доповнень) на 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"


Хотілося б додати, що після оновлення вікна vagrant, коли vagrant хоче завантажити оновлену версію, Vagrantfile у шляху, згаданому Rath, є тим, що поставляється в коробці (і, отже, може містити значення, не сумісне з вашим середовищем). Крім того, ви можете просто змінити значення з rsyncна virtualbox(якщо virtualbox - це ваш движок VM).
TomasH

1

Я зміг виправити цю проблему, використовуючи інший bos з C: \ Users {ім'я_користувача} .vagrant.d \ boxes \ box \ subfolder \ virtualbox \ Vagrantfile

І додавання

# 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, vagrant 1.9.1 Як vm box я використовую centos 7 без додавання гостя.

vm.box = "centos/7"

Щоб вирішити цю проблему, змініть, наприклад, "vm.box" на поле з попередньо встановленим додаванням гостя

vm.box = "geerlingguy/centos7"

А також переконайтеся, що не встановлено плагін vbguest, оскільки з’являється чергова помилка

vagrant plugin list

vagrant plugin uninstall vagrant-vbguest

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.