Запуск Vagrant проектов на Windows

01 апреля 2022
Запуск Vagrant проектов на Windows

Запуск Vagrant на Windows — это многолетняя проблема, решение которой никто не мог описать: во всех статьях на эту тему нет четкой инструкции, как правильно запускать Vagrant. Поэтому мы решили разобраться сами и рассказать вам, как справиться с этой проблемой.

Vagrant — это программное обеспечение, которое с помощью технологии виртуализации позволяет унифицировать среду разработки, в которой будет разворачиваться код. Простым языком: если вы делаете проекты в среде Windows, то Vagrant поможет вам разворачивать их в Unix-системах.

Часто возникают проблемы из-за того, что среда разработки отличается от среды, где крутится конечное приложение. Vagrant помогает избегать возможных конфликтов с другими окружениями, быстро пересоздает рабочую среду и позволяет переносить окружение под любую систему одним универсальным способом.

Благодаря этому вы сможете развернуть проект для всей команды: программистов, верстальщиков, тестировщиков и т.д. вне зависимости от того, какие машины и операционные системы они используют.

Рассмотрим с технической точки зрения, как я поставил себе Vagrant на Windows.

Стоит учесть, что для успешного использования нужны также VirtualBox и Git.

VirtualBox — это программное обеспечение, которое имитирует настоящий компьютер. Он позволяет устанавливать, запускать и использовать операционные системы, как обычные приложения. Vagrant же для VirtualBox будет являться чем-то вроде интерфейса командной строки.

Git применяется для управления версиями в рамках колоссального количества проектов по разработке ПО, как коммерческих, так и с открытым исходным кодом.

1 — После установки VirtualBox

Во многом работа Vagrant опирается на виртуализацию, для которой по умолчанию используется продукт VirtualBox, поэтому сначала нужно установить его.

Если имя пользователя в системе написано русскими буквами, вы можете столкнуться с ошибками выполнения команд.  В таком случае создайте системную переменную среды VAGRANT_HOME с указанием папки без русских символов. Вот как можно это сделать:

  1. В строке Поиск наберите: Система (Панель управления).

2. Нажмите на ссылку Дополнительные параметры системы.

3. Нажмите Переменные среды и выберите в этом разделе переменную среды PATH. Нажмите Изменить. Если переменной PATH не существует, нажмите Создать.

4. В окне Изменение системной переменной (или Новая системная переменная) укажите значение переменной среды PATH. Нажмите ОК. Закройте остальные открытые окна, нажимая ОК.

5. Затем откройте настройки VirtualBox и укажите папку хранения для виртуальных машин.

2 — После установки Vagrant

Чтобы Vagrant стал доступен в командной строке после установки, возможно придется перезагрузить машину. Если возникнут ошибки, перепроверьте переменную PATH, в ней должен быть путь к бинарнику Vagrant’a.

3 — Git

После установки системы управления версиями Git сразу проверьте его настройки. Это касается не только сборки на Vagrant. Как минимум, я столкнулся с проблемой кодировки, которая заключалась в настройке core.quotePath.

Команды, которые выводят пути (например, ls-files, diff), будут заключать «необычные» символы в имени пути. Они будут заключать его в двойные кавычки и экранировать эти символы обратной косой чертой таким же образом, как C экранирует управляющие символы (например, \ t для TAB, \ n для LF, \\ для обратной косой черты) или байты со значениями больше 0x80 (например, восьмеричное число \302\ 265 для «micro» в UTF-8).

Если этой переменной присвоено значение false, байты, которые превышают 0x80, больше не считаются «необычными». Двойные кавычки, обратная косая черта и управляющие символы всегда экранируются независимо от настройки этой переменной. Простой символ пробела не считается «необычным». Многие команды могут выводить имена путей полностью дословно, используя опцию -z.

Error while linking: [Errno 71] — ошибка протокола. Я покопался в сценариях, которые должны выполняться по распаковке проекта и обнаружил, что проблема была на сценарии сборки node. При Make symlink — создание символической ссылки. И по какой-то причине, даже если пользователь Windows входит в группу администратора и имеет права на запуск mklink, создать эту ссылку по-прежнему невозможно. Поэтому настройка прав изначально не имеет смысла.

Как решить эту проблему

  1. Настроить Git:
  • git config —global core.symlinks true
  • git config core.symlinks true

2. Только после этих настроек клонировать проект.

После чего важно запустить все, используя права администратора, и запустить сборку проекта.

Не рекомендую использовать WSL для данного запуска.


Другие статьи серии о программных решениях, которые мы используем в своей работе:

Если хотите убедиться, что все делаете правильно, или проконсультироваться по поводу разработки вашего проекта, напишите нам.

Автор статьи
Семен Сенкевич
Backend Developer

Подпишитесь на блог WB—Tech

Никакого спама, только анонсы новых статей

Наши клиенты

WBTech - Клиенты - МТС
WBTech - Клиенты - Высшая Школа Экономики
WBTech - Клиенты - Лента
WBTech - Клиенты - Верный
WBTech - Клиенты - Рамблер
WBTech - Клиенты - Совкомбанк
WBTech - Клиенты - Билайн
WBTech - Клиенты - Леруа Мерлен
WBTech - Клиенты - Ульяна Сергеенко
WBTech - Клиенты - Правительство Москвы
ИП Гришанин Кирилл Олегович
ИНН 774313842609
Коворкинг Starthub
Б. Новодмитровская ул., 36, стр. 12, вход 6, Москва, Россия, 127015
Коворкинг Wework
Ahad Ha'am 54, Tel Aviv-Yafo, Израиль