Tools
Start here
Machine checks from the requirements article, then the commands in the order the setup guide runs them. The guide does not pass flags to laravel new. Answer the installer.
Machine checks from the requirements article, then the commands in the order the setup guide runs them. The guide does not pass flags to laravel new. Answer the installer.
| Check | Command | Pass |
|---|---|---|
| PHP | php -v | PHP 8.3 to 8.5. Laravel 13 was released on March 17, 2026. Source |
| Composer | composer -V | Composer 2. Source |
| Extensions | php -m | Ctype, cURL, DOM, Fileinfo, Filter, Hash, Mbstring, OpenSSL, PCRE, PDO, Session, Tokenizer, and XML. Source |
| Node.js | node -v | v20.19+ or v22.12+. Node 24 LTS is included. Source |
| npm | npm -v | The article does not pin an npm version. npm, pnpm, or Bun are named. Source |
New apps use SQLite. MySQL, MariaDB, PostgreSQL, and SQL Server are supported for production. Herd, php.new, or Sail can install the PHP side. Vue 3.5, Vite 8, and Inertia 3 are the front-end versions that article names. Vue 3.6 Vapor mode was a release candidate as of October 2026, not the default.
| Step | Command | Rule |
|---|---|---|
| 1 | composer global require laravel/installer | Composer's global bin directory must be on PATH so the laravel command is available. Source |
| 2 | laravel new blog | Answer yes to a starter kit (the default is no), then Vue (the default stack is React), then Laravel's built-in authentication. Teams is no unless you want them. Pest is installed unless you pass --phpunit. The installer then installs Composer and npm dependencies, creates a SQLite database, and runs the first migrations. The Vue kit includes Inertia 3, Vue 3, TypeScript, Tailwind CSS 4, and shadcn-vue. Source |
| 3 | cd blog | Run the rest of these commands from the new app. Source |
| 4 | composer run dev | Starts the PHP server, the queue worker, the log viewer, and Vite. The app is at http://localhost:8000. Log in and Register work. Source |
| 5 | php artisan make:model Post -mfs | Also creates the migration, factory, and seeder. Fill those in before the next command. The migration has title, a unique slug, excerpt, and a nullable published_at. Source |
| 6 | php artisan migrate | Run this after the migration file is filled in. Source |
| 7 | php artisan db:seed --class=PostSeeder | The seeder creates 12 posts from the factory. Source |
| 8 | php artisan make:controller PostController | Then render posts/Index with Inertia and add GET /posts named posts.index in routes/web.php. The guide adds no API route for this list. The Vue page is resources/js/pages/posts/Index.vue. Source |
| 9 | Open in the browser | After that page exists, open http://localhost:8000/posts. Vite reloads as you edit. Laravel serves the data. Source |
| 10 | php artisan test | After tests/Feature/PostsTest.php exists. Pest. assertInertia checks the component posts/Index. Source |
| 11 | npm run build | Production front-end build. Source |
| 12 | npm run build:ssr | npm run dev already server-renders. Build the SSR bundle with this command when you deploy. Source |
Do not start a new app with composer require laravel/framework. Use laravel new blog and answer the installer. Tailwind CSS 4 and shadcn-vue ship with the Vue starter kit and are not in the download chart. The lines to paste are in the samples.