Breeze 不是装完 composer require laravel/breeze --dev 就能用的,必须执行 php artisan breeze:install 才生成路由、视图和控制器;跳过这步,/login 一定 404。
直接上结论:Breeze 不是装完
就能用的,必须执行
才生成路由、视图和控制器;跳过这步,
一定 404。
为什么
后还必须跑
Breeze 的 Composer 包只注册 Artisan 命令、提供底层逻辑,不主动写任何文件到你的项目里。这是 Laravel 官方的显式控制设计——避免污染已有结构。
只把包放进
,
里看不到任何 auth 路由
才真正:复制
视图、注入
、修改
、发布 Tailwind 配置、写入
如果你已手动写过
(比如从 Laravel UI 迁移过来),它会和 Breeze 的
冲突,导致部分路由失效或重复定义
参数选错的后果
参数决定生成什么、依赖什么、要不要编译,选错不是“重装就行”,而是立刻卡在构建或运行环节。
:最轻量,纯 SSR,表单 POST 提交,无需
也能访问
或
:强制引入 Inertia、Ziggy、@inertiajs/*,必须
,否则页面空白 + 控制台报
:只改 CSS 类和 JS 切换逻辑,但前提是你的
已启用
,否则深色样式不生效
迁移失败的三个高频原因
报错,90% 不是 Breeze 问题,而是环境或结构没对齐。
Laravel 13.2.0
PHP中文网提供Laravel 13.2.0版本下载,Laravel框架 是基于 PHP 8.3+ 的高性能框架,官方推荐通过 Composer 安装。它内置 AI SDK、JSON:API Resources 及原生向量搜索,支持属性驱动开发与队列路由,大幅提升开发效率。相比旧版,13.2.0 优化了缓存 TTL 管理与实时通信,无需 Redis 即可横向扩展。作为现代 Web 开发首选,它兼顾安全与极速体验,助您快速构建企业级应用。
下载
PostgreSQL 用户注意:
在 PG 中会触发
,必须改成
已有
表且字段不全(比如缺
):Breeze 的迁移会重复添加字段,直接报 SQL 错误;开发环境建议删表重迁,或手动编辑迁移文件
里
是空字符串?MySQL 8.0+ 默认禁用空密码,连不上就会报
登录后跳转不到预期页面?先查
登录成功默认跳
,这个路径由
常量控制,不是硬编码在中间件里。
想改成首页?改
里的
改完别忘了同步更新
里导航栏的
,否则菜单点开会 404
如果用了自定义路由名(比如
),
辅助函数必须匹配新名字,不能只改常量
最容易被忽略的是:Breeze 不自动启用邮箱验证流程,哪怕你配置了
,
也不会发验证邮件——得手动在
或
里加逻辑,否则
字段永远为 null。
composer require laravel/breeze --devphp artisan breeze:install/logincomposer requirebreeze:installcomposer require laravel/breeze --devvendor/php artisan route:listphp artisan breeze:installresources/views/auth/routes/auth.phpRouteServiceProviderapp/Http/Controllers/Auth/Auth::routes()routes/auth.phpphp artisan breeze:installphp artisan breeze:install bladenpm run dev/loginphp artisan breeze:install vuereactnpm install && npm run devUncaught ReferenceError: inertia is not definedphp artisan breeze:install --darktailwind.config.jsdarkMode: 'class'php artisan migrate$table->string('email')->unique()index row size exceeds maximum$table->string('email', 255)->unique()usersemail_verified_at.envDB_PASSWORDSQLSTATE[HY000] [1045] Access deniedRouteServiceProvider::HOME/dashboardRouteServiceProvider::HOMEapp/Providers/RouteServiceProvider.phpconst HOME = '/';resources/views/layouts/app.blade.phphref="{{ route('dashboard') }}"Route::get('/profile', ...)->name('user.profile')route()MAIL_MAILERRegisterControllerRegisterRequestRegisteredUserControlleremail_verified_at