Запуск Vagrant на Windows — это многолетняя проблема, решение которой никто не мог описать: во всех статьях на эту тему нет четкой инструкции, как правильно запускать Vagrant. Поэтому мы решили разобраться сами и рассказать вам, как справиться с этой проблемой.
Vagrant — это программное обеспечение, которое с помощью технологии виртуализации позволяет унифицировать среду разработки, в которой будет разворачиваться код. Простым языком: если вы делаете проекты в среде Windows, то Vagrant поможет вам разворачивать их в Unix-системах.
Часто возникают проблемы из-за того, что среда разработки отличается от среды, где крутится конечное приложение. Vagrant помогает избегать возможных конфликтов с другими окружениями, быстро пересоздает рабочую среду и позволяет переносить окружение под любую систему одним универсальным способом.
Благодаря этому вы сможете развернуть проект для всей команды: программистов, верстальщиков, тестировщиков и т.д. вне зависимости от того, какие машины и операционные системы они используют.
Рассмотрим с технической точки зрения, как я поставил себе Vagrant на Windows.
Стоит учесть, что для успешного использования нужны также VirtualBox и Git.
VirtualBox — это программное обеспечение, которое имитирует настоящий компьютер. Он позволяет устанавливать, запускать и использовать операционные системы, как обычные приложения. Vagrant же для VirtualBox будет являться чем-то вроде интерфейса командной строки.
Git применяется для управления версиями в рамках колоссального количества проектов по разработке ПО, как коммерческих, так и с открытым исходным кодом.
1 – После установки VirtualBox
Во многом работа Vagrant опирается на виртуализацию, для которой по умолчанию используется продукт VirtualBox, поэтому сначала нужно установить его.
Если имя пользователя в системе написано русскими буквами, вы можете столкнуться с ошибками выполнения команд. В таком случае создайте системную переменную среды VAGRANT_HOME с указанием папки без русских символов. Вот как можно это сделать:
В строке Поиск наберите: Система (Панель управления).
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, создать эту ссылку по-прежнему невозможно. Поэтому настройка прав изначально не имеет смысла.
Как решить эту проблему
Настроить Git:
git config —global core.symlinks true
git config core.symlinks true
2. Только после этих настроек клонировать проект.
После чего важно запустить все, используя права администратора, и запустить сборку проекта.
Не рекомендую использовать WSL для данного запуска.
Если хотите убедиться, что все делаете правильно, или проконсультироваться по поводу разработки вашего проекта, напишите нам.
Рассказали, что такое Jira и что используют. Как российские аналоги есть у Jira: обзор лучших систем управления проектами, их преимущества, функционал и возможности для бизнеса.