Как установить Laravel и запустить первый проект
За 20–30 минут вы поднимете чистый проект на Laravel 11, запустите встроенный сервер и увидите стартовую страницу в браузере. Разбираем каждый шаг и типичные ошибки установки.

К концу этой инструкции у вас будет установленный проект на Laravel 11.x, запущенный локальный сервер и открытая в браузере стартовая страница фреймворка. На всё уйдёт 20–30 минут, если PHP и Composer уже стоят. Если нет — заложите ещё минут пятнадцать на их установку.
Что нужно иметь до начала
Laravel 11 не поднимется на старом PHP. Проверьте всё из списка до первой команды, иначе установщик оборвётся на середине с ошибкой зависимостей.
- PHP 8.2 или новее. Laravel 11 требует минимум 8.2. Проверить:
php -vв терминале. Если версия ниже — обновите PHP, иначе Composer откажется ставить пакеты. - Расширения PHP:
ctype,curl,dom,fileinfo,filter,hash,mbstring,openssl,pcre,pdo,session,tokenizer,xml. На большинстве сборок они уже включены. Список включённых покажетphp -m. - Composer — менеджер зависимостей PHP.1 Проверить:
composer --version. Скачать: getcomposer.org. - Node.js и npm — понадобятся для сборки фронтенда (Vite). Проверить:
node -v. Для запуска бэкенда не обязательны, но стартовая страница собирается через них.
База данных на старте не нужна: свежий проект по умолчанию настроен на SQLite, и файл создаётся автоматически.
Шаг 1. Создайте проект
Самый простой способ — через Composer. Откройте терминал в папке, где будут жить ваши проекты, и выполните:
composer create-project laravel/laravel my-app
Здесь my-app — имя папки проекта, замените на своё. Composer скачает Laravel и все зависимости в новую папку my-app. Это займёт несколько минут.
Проверка: после завершения появится папка my-app, а в конце вывода — строка вроде INFO Application key set successfully. и Application ready! Build something amazing.
Альтернатива через официальный установщик
Если планируете создавать много проектов, поставьте глобальный установщик Laravel один раз:
composer global require laravel/installer
После этого проект создаётся короче: laravel new my-app. Установщик задаст пару вопросов про стартовый набор и базу данных — для первого раза можно жать Enter и оставлять значения по умолчанию. Чтобы команда laravel работала из любой папки, каталог глобальных бинарников Composer должен быть в переменной PATH. Путь к нему покажет composer global config bin-dir --absolute.
Шаг 2. Перейдите в папку проекта
cd my-app
Все следующие команды выполняются внутри этой папки. Если запустить их снаружи, artisan не найдётся и вы получите ошибку.
Шаг 3. Проверьте файл .env
Composer при установке копирует .env.example в .env и генерирует ключ приложения. Откройте .env и убедитесь, что там есть непустая строка APP_KEY=base64:.... Если ключа нет, сгенерируйте вручную:
php artisan key:generate
Без этого ключа приложение выдаст ошибку про шифрование при первой же загрузке.
Проверка: в файле .env строка APP_KEY заполнена длинным значением после base64:.
Шаг 4. Запустите встроенный сервер
У Laravel есть команда, которая поднимает локальный веб-сервер на основе встроенного сервера PHP — отдельный Nginx или Apache для проверки не нужен:
php artisan serve
В терминале появится строка вида:
INFO Server running on [http://127.0.0.1:8000].
Проверка: откройте в браузере http://127.0.0.1:8000 — увидите стартовую страницу Laravel с логотипом и ссылками на документацию. Сервер работает, пока открыт терминал; чтобы остановить — нажмите Ctrl+C.
Встроенный сервер artisan serve подходит только для локальной разработки одного проекта. Он однопоточный и не рассчитан на нагрузку — для боевого сайта нужен Nginx или Apache плюс PHP-FPM.
Шаг 5. Соберите фронтенд (если нужна стартовая страница целиком)
Свежий Laravel использует Vite для сборки CSS и JS. Для базовой проверки бэкенда это не обязательно, но стартовая страница подтянет стили только после установки npm-пакетов. В отдельном окне терминала, не закрывая сервер:
npm install
npm run dev
Первая команда скачает зависимости, вторая запустит Vite в режиме разработки с горячей перезагрузкой. Теперь при изменении файлов в resources/ страница обновится сама.
Проверка: в выводе npm run dev появится блок с адресами Vite и строка VITE ... ready.
Если не получилось
Пять ошибок, на которые чаще всего натыкаются на старте.
Your requirements could not be resolved to an installable set of packagesприcreate-project. Почти всегда — старый PHP или отсутствие нужного расширения. Проверьтеphp -v(должно быть 8.2+) иphp -m. Часто не хватаетext-mbstringилиext-xml.'composer' is not recognized/command not found: composer. Composer не установлен или не вPATH. Переустановите с getcomposer.org и перезапустите терминал.No application encryption key has been specified.Не сгенерированAPP_KEY. Выполнитеphp artisan key:generateв папке проекта.Failed to listen on 127.0.0.1:8000/Address already in use. Порт 8000 занят другим процессом. Запустите на другом порту:php artisan serve --port=8080.- Страница открывается, но без стилей, «голый» HTML. Не собран фронтенд. Запустите
npm installиnpm run devлибо соберите один раз командойnpm run buildдля статичной сборки.
Что делать дальше
Проект запущен — теперь можно двигаться к реальной работе:
- Настройте базу данных в
.env, если нужна не SQLite, а MySQL или PostgreSQL, и выполнитеphp artisan migrate. - Посмотрите, как устроены маршруты, в
routes/web.php— это точка входа для ваших страниц. - Изучите artisan:
php artisan listпокажет все доступные команды, включая генераторы контроллеров и моделей. - Для боевого развёртывания вместо
artisan serveнастраивайте Nginx с PHP-FPM — это отдельная тема, здесь мы её не разбираем.
Репетитор 1—11 класс и ВУЗ: Математика и физика методом наведения на мысль, помощь с ДЗ.
Спросить за 8 ₽Источники: Laravel 11.x — Installation (официальная документация), Composer — Download
Частые вопросы
У меня PHP 8.1, обязательно ли обновляться до 8.2?
Что делать, если после artisan serve браузер показывает пустую страницу или ошибку 500?
Нужен ли отдельный сервер вроде Nginx или Apache для проверки?
А если у меня другая версия Laravel — например, 10?
Обязательно ли ставить Node.js и запускать npm?
Порт 8000 занят, как запустить проект на другом?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.