Установка пакету laravel/sail на windows 11 (10) є не дуже тривіальною задачею, хоча на офіційному сайті є доволі чітка інструкція за цим посиланням
Тож що нам потрібно?
- Установити WSL2 – описано нижче
- Установити Ubuntu на wsl
- Установити Docker Desktop
- В Ubuntu встановити php8.2 + composer
- Встановити проект Laravel
- Встановити Sail
- Прописати хост laravel.test на локальному ПК
- Для Laravel/Breeze відредагувати файл
vite.config.js
для правильної роботи
- Відкриття проекту у PHPStorm та подальша робота
Що ж роботи багато, в основному вона заключатиметься в прописуванні команд у ту чи іншу консоль. Перед установкою рекомендую встановити Visual Studio Code
1. Установка WSL
Установка WSL доволі індивідуальний процес, основна інструкція знаходиться за посиланням.
Пройдемось по основних командах
-
- Запустимо термінал від імені адміністратора та введемо команду
wsl --install



- В процесі установки Windows може перезавантажуватись
- Перевіримо чи встановлений WSL командою
wsl --version

- На цьому етапі з установкою все, якщо виникнуть питання задавайте їх в коментарях
2. Установка Ubuntu на wsl
Для цього нам потрібно:
- Відкрити Microsoft Store (меню “Пуск”)-> пошук “Store”

- В пошуку ввести Ubuntu та вибрати версію не нижче 20.04

- Після установки відкриваємо меню “Пуск” та в пошук вводимо Ubuntu і відкриваємо консоль


3. Установити Docker Desktop
Тут все просто. Просто переходьте по лінку і завантажуйте інсталювач та інсталюйте на ПК. Якщо виникнуть якіь проблеми краще шукати вирішення в Google
Update: перед тим як продовжувати, після запуску Docker Desctop встановіть в налаштуваннях відповідні відмітки, як на зображеннях нижче

4.В Ubuntu встановити php8.2 + composer
Нижче наведений список команд, які потрібно виконати в терміналі.
Виконуйте їх по одній
Щодо sudo
то тут 2 варіанти, якщо термінал запустився під root то не потрібно писати, якщо ні, то рекомендовано
sudo apt update && apt dist-upgrade -y
sudo add-apt-repository ppa:ondrej/php
sudo apt update sudo apt install php8.2 php8.2-cli php8.2{bz2,curl,mbstring,intl,xml,zip} # Встановлюємо PHP та мінімальний набір extension.
sudo apt install libapache2-mod-php8.2
sudo a2enmod php8.2
# SOME FIX APACHE
source /etc/apache2/envvars apache2 -S
sudo service apache2 restart # OR apache2 -k restart
code /etc/php/8.2/apache2/php.ini # Команда повинна відкрити Visual Studio Code в якому відкрити php.ini (Якщо напише, що команда не знайдена, то просто інсталюйте на свій ПК Visual Studio Code)
#SOME FIX COMPOSER path
export COMPOSER_HOME="$HOME/.config/composer"; # В моєму випадку, чомусь, некоректно працював composer і ця команда відновила його роботу
5.Встановити проект Laravel
Для цього нам потрібно перейди в директорію /home/user-name командою
cd /home/username
Якщо не знаєте username то просто після home поставте / та натисніть TAB і вам відобразиться папка з назвою користувача
Після переходу в домашню директорію виконуємо наступну команду, де project-name
ваша назва проекту
composer create-project laravel/laravel project-name # where project-name - real project name
cd project-name
composer require laravel/sail --dev
php artisan key:generate
php artisan storage:link
6.Встановити Sail
В терміналі Ubuntu пишемо команду та вибираємо БД
php artisan sail:install

Меню вибору sail
Після цього вводимо команду для створення контейнерів
vendor/bin/sail up

Далі перед продовженням зупинимо контейнери командою vendor/bin/sail stop
Далі нам потрібно обновити файл docker-compose.yml
та додати два необхідні сервіси та додати хост laravel.test
на ПК
7.Прописати хост laravel.test на локальному ПК
Додаємо хост на ПК laravel.test
Для цього потрібно відкрити блокнот у режимі адміністратора та відкрити наступний шлях
C:\Windows\System32\drivers\etc\host
та прописати 127.0.0.1 laravel.test


Останній етап це запуск всіх команд sail
vendor/bin/sail composer require laravel/breeze --dev
vendor/bin/sailartisan breeze:install blade
vendor/bin/sail artisan migrate
vendor/bin/sail npm install
vendor/bin/sail npm run dev
8. Для Laravel/Breeze відредагувати файл vite.config.js
для правильної роботи
Якщо після запуску проекту ви перейшли на сторінку реєстрації або авторизації і там не підтягнулись стилі, то тоді потрібно дописати конфігурацію файлу vite.config.js
як показано на скріншоті і після цього перезапустити sail (команди vendor/bin/sail stop
та vendor/bin/sail up -d
)

Код, який потрібно дописати нижче:
server: {
hmr: {
host: 'localhost',
},
}
9. Відкриття проекту у PHPStorm та подальша робота
Щоб відкрити проект у PHPStorm вам потрібно відкрити “Провідник” та перейти за адресою
\\wsl.localhost\Ubuntu\home
а далі в середині папки знайти папку з проектом і відкрити її через контексте меню і вибрати “Open PHPStorm project”
На далі, якщо вам потрібні додаткові сервіси в Docker то можна в файл docker-compose.yml
можна додати необхідні сервіси
Після додавання не забуваємо перебілдити контейнери
vendor/bin/sail stop
vendor/bin/sail build --no-cache
vendor/bin/sail up -d
)