Начиная с Windows 10 версии 2004 и выше для установки WSL нужно открыть консоль с правами администратора и ввести команду: Эта команда позволяет включить необходимые компоненты, скачать последнюю версию ядра Linux, установить WSL 2 в качестве компонента по-умолчанию и установить дистрибутив Linux. Приведённая выше команда работает только если WSL не установлена вообще. Если Вы выполнили команду wsl --install и видите текст справки WSL, попробуйте выполнить wsl --list --online, чтобы просмотреть список доступных дистрибутивов. Затем выполните wsl --install -d <DistroName> для установки дистрибутива. Команда wsl --list выводит список доступных дистрибутивов. Проверьте если нужный дистрибутив не установлен по-умолчанию, сделать это будет можно командой wsl --set-default <DistroName>. Более подробно о других способах установки WSL можно прочитать здесь. Так как скрипты Laravel Sail написаны на языке PHP, то нужно установить его внутрь дистрибутива WSL. Например, установка PHP 8.1 в Ubuntu 20 будет производиться путём последовательного выполнения следующих команд: Если в системе не установлен Docker Desktop, ставим его. У него всё просто: "далее - далее - далее - готово". Если во время установки не включили компоненты WSL 2 - не страшно, это можно сделать впоследствии. После запуска Docker заходим в его настройки и на вкладке General активируем Use the WSL 2 based engine: Затем переходим в раздел Resources > WSL Integration и активируем добавленный раннее дистрибутив: Laravel Sail возможно использовать как в новом проекте, так и подключать в существующий. Laravel Sail работает с PHP версии 7.4 и выше. Обратите внимание, что в системе должен быть установлен PHP версии не ниже поддерживаемой Вашим приложением, а также Composer. Удобнее всего первоначальные шаги выполнять именно из-под Windows, так как устанавливать и настраивать окружение значительно проще чем внутри wsl контейнера. Мы будем использовать свежий проект используя инсталлятор, который установит Laravel 9 с зависимостью Sail: Так как все команды нужно начинать с vendor/bin/sail, укажем алиас для упрощения. Для этого в файл %USERPROFILE%\.bash_profile добавим строку: Перезапускаем консоль, переходим в папку с созданным проектом и инициализируем конфигурацию Sail: Через запятую указываем сервисы, необходимые для приложения. Например, 0,3 установит mysql и redis: И жмём enter. Эта команда создаст файл docker-compose.yml в корне проекта и пропишет конфиги redis и mysql в файле .env. При необходимости одновременного запуска нескольких проектов, в файле .env можно задать ключ APP_PORT с номером порта. Например, со значением APP_PORT=1234 приложение будет доступно по адресу http://127.0.0.1:1234. Теперь можно переходить к запуску и здесь у нас есть два варианта: Первый вариант, sail up запустит контейнеры в "живом" режиме, то есть при закрытии консоли закроется и соединение, а sail up -d запустит их в фоновом режиме и контейнеры будут работать до тех пор, пока не будет передана команда sail down либо не будет выгружен сам докер. Просто так в Windows нельзя запустить Sail, так как он использует компоненты Linux. Именно поэтому на этапе установки WSL устанавливался дистрибутив, например, Ubuntu. Сперва необходимо войти в подсистему WSL выполнив команду: Также стоит заметить, что алиас sail мы устанавливали в Windows и он не распространяется на подсистему, поэтому зададим его и подсистеме. Для этого выполните команду nano ~/.bashrc и добавьте в конец файла строки: Для применения изменений выйдем из подсистемы командой exit и заново в неё войдем: Запускаем контейнеры командой sail up и ждём завершения компиляции: Переходим на страницу http://127.0.0.1 и видим наше приложение. В консоли также будет видно логирование запросов. Конечно, если запуск производился командой sail up. Для вызова различных artisan-команд в контейнере можете пользоваться алиасом sart. Например: Всё. Удачи в разработке 👋 Senior PHP Developer