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

Разработка 1 апр. 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 для данного запуска.


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

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

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

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