- PVSM.RU - https://www.pvsm.ru -
Начиная с Windows 10 версии 2004 и выше для установки WSL нужно открыть консоль с правами администратора и ввести команду:
wsl --install
Эта команда позволяет включить необходимые компоненты, скачать последнюю версию ядра Linux, установить WSL 2 в качестве компонента по-умолчанию и установить дистрибутив Linux.
Приведённая выше команда работает только если WSL не установлена вообще.
Если Вы выполнили команду
wsl --install
и видите текст справки WSL, попробуйте выполнитьwsl --list --online
, чтобы просмотреть список доступных дистрибутивов. Затем выполнитеwsl --install -d <DistroName>
для установки дистрибутива.
Команда wsl --list
выводит список доступных дистрибутивов. Проверьте если нужный дистрибутив не установлен по-умолчанию, сделать это будет можно командой wsl --set-default <DistroName>
.
Более подробно о других способах установки WSL можно прочитать здесь [1].
Если в системе не установлен Docker Desktop [2], ставим его.
У него всё просто: "далее - далее - далее - готово".
Если во время установки не включили компоненты WSL 2 - не страшно, это можно сделать впоследствии.
После запуска Docker заходим в его настройки и на вкладке General
активируем Use the WSL 2 based engine
:
Затем переходим в раздел Resources > WSL Integration
и активируем добавленный раннее дистрибутив:
Laravel Sail возможно использовать как в новом проекте, так и подключать в существующий. Laravel Sail работает с PHP версии 7.4 и выше.
Обратите внимание, что в системе должен быть установлен PHP [3] версии не ниже поддерживаемой Вашим приложением, а также Composer [4].
Удобнее всего первоначальные шаги выполнять именно из-под Windows, так как устанавливать и настраивать окружение значительно проще чем внутри wsl контейнера.
Мы будем использовать свежий проект используя инсталлятор [5], который установит Laravel 9 с зависимостью Sail:
laravel new blog
Так как все команды нужно начинать с vendor/bin/sail
, укажем алиас для упрощения. Для этого в файл %USERPROFILE%.bash_profile
добавим строку:
alias sail='vendor/bin/sail'
Перезапускаем консоль, переходим в папку с созданным проектом и инициализируем конфигурацию Sail:
php artisan sail:install
Через запятую указываем сервисы, необходимые для приложения. Например, 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 up
запустит контейнеры в "живом" режиме, то есть при закрытии консоли закроется и соединение, а sail up -d
запустит их в фоновом режиме и контейнеры будут работать до тех пор, пока не будет передана команда sail down
либо не будет выгружен сам докер.
Просто так в Windows нельзя запустить Sail, так как он использует компоненты Linux. Именно поэтому на этапе установки WSL устанавливался дистрибутив, например, Ubuntu.
Сперва необходимо войти в подсистему WSL выполнив команду:
wsl
Также стоит заметить, что алиас sail
мы устанавливали в Windows и он не распространяется на подсистему, поэтому зададим его и подсистеме.
Для этого выполните команду nano ~/.bashrc
и добавьте в конец файла строки:
alias sail='[ -f sail ] && bash sail || bash vendor/bin/sail'
alias sart='[ -f sail ] && bash sail artisan || bash vendor/bin/sail artisan'
Для применения изменений выйдем из подсистемы командой exit
и заново в неё войдем:
Запускаем контейнеры командой sail up
и ждём завершения компиляции:
Переходим на страницу http://127.0.0.1 [6] и видим наше приложение.
В консоли также будет видно логирование запросов. Конечно, если запуск производился командой sail up
.
Для вызова различных artisan-команд [7] в контейнере можете пользоваться алиасом sart
. Например:
sart queue:work
Всё. Удачи в разработке 👋
Автор: Andrey Helldar
Источник [8]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/framework/373620
Ссылки в тексте:
[1] здесь: https://docs.microsoft.com/ru-ru/windows/wsl/install
[2] Docker Desktop: https://www.docker.com/products/docker-desktop/
[3] PHP: https://www.php.net/
[4] Composer: https://getcomposer.org/
[5] инсталлятор: https://github.com/laravel/installer
[6] http://127.0.0.1: http://127.0.0.1/
[7] artisan-команд: https://laravel.com/docs/9.x/sail#executing-sail-commands
[8] Источник: https://habr.com/ru/post/658753/?utm_source=habrahabr&utm_medium=rss&utm_campaign=658753
Нажмите здесь для печати.