jetstream 必须基于 laravel 8+ 新建项目,使用 laravel/installer 初始化后执行 composer require laravel/jetstream;安装时必须指定 livewire 或 inertia 堆栈及可选 --teams 参数;随后需运行 php artisan migrate、npm install && npm run build、php artisan config:clear && php artisan view:clear 三步,否则认证功能异常。

Jetstream 必须用 Laravel 8+,且不能跳过 laravel/installer 初始化
Jetstream 不是普通 Composer 包,它依赖 Laravel 框架的特定结构和 Artisan 命令钩子。直接 composer require laravel/jetstream 到已有项目里大概率失败——尤其是旧版 Laravel 或非标准目录结构的项目。
正确路径只有一条:从干净的 Laravel 应用开始。
- 先确保已全局安装
laravel/installer:composer global require laravel/installer - 用它创建新项目:
laravel new myapp --git(推荐加--git,Jetstream 后续会初始化 Git 提交) - 进目录后立刻执行:
composer require laravel/jetstream,别急着跑php artisan jetstream:install
跳过这步、或试图在 Laravel 7 及更早版本上硬装,你会遇到 Class 'Laravel\Jetstream\JetstreamServiceProvider' not found 或 Target class [jetstream] does not exist —— 这不是权限或缓存问题,是根本没加载入口。
php artisan jetstream:install 的两个必选参数决定认证体验
Jetstream 默认不生成任何前端代码,jetstream:install 命令必须指定堆栈(livewire 或 inertia)和可选的团队功能(--teams)。漏掉任一参数,命令直接报错退出。
- 选 Livewire(适合传统 PHP 开发者):
php artisan jetstream:install livewire - 选 Inertia + Vue(需额外配 Node 环境):
php artisan jetstream:install inertia - 要团队功能(比如 SaaS 多租户):
php artisan jetstream:install livewire --teams
注意:--teams 不能单独用,必须跟在堆栈参数后面;如果选 inertia,后续必须运行 npm install && npm run build,否则前端完全空白——这不是 Jetstream 的 bug,是 Inertia 架构本身的要求。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
安装后必须手动执行三步,缺一不可
Jetstream 安装命令只改了部分文件,剩下关键步骤得人肉补全,否则登录页打不开、注册失败、甚至数据库迁移都报错。
- 运行迁移:
php artisan migrate(Jetstream 新增了teams、user_profile_photos等表) - 构建前端资源:
npm install && npm run build(即使选 Livewire 也要跑,因为 Jetstream 的 Blade 组件依赖编译后的app.css和app.js) - 清空配置缓存:
php artisan config:clear && php artisan view:clear(否则 Blade 模板仍引用旧的auth/login.blade.php而不是 Jetstream 的组件)
常见错误现象:Route [login] not defined 或页面显示 “Whoops, looks like something went wrong” —— 八成是没清 View 缓存,或 npm run build 没成功(检查控制台有没有 ERROR in ./resources/js/app.js)。
Jetstream 的认证逻辑不在 AuthController,而在组件和服务提供者里
别翻 app/Http/Controllers/Auth 目录找控制器——Jetstream 把登录、注册、邮箱验证等逻辑全封装进了 Livewire 组件(如 App\Http\Livewire\Login)或 Inertia 页面(resources/js/Pages/Auth/Login.vue),路由也由 Laravel\Jetstream\JetstreamServiceProvider 动态注册。
- 自定义登录逻辑?改
app/Http/Livewire/Login.php(Livewire)或resources/js/Pages/Auth/Login.vue(Inertia) - 想禁用邮箱验证?删掉
MustVerifyEmailtrait 并注释掉emailVerificationPrompt组件调用 - 修改密码重置流程?别碰
ForgotPasswordController,去改App\Http\Livewire\ForgotPassword
最常被忽略的一点:Jetstream 默认启用了「两步验证」(2FA),但相关数据库字段(two_factor_secret、two_factor_recovery_codes)只在 create_users_table 迁移里有默认值,如果你自己写过用户表迁移,很可能漏掉这两列——结果就是启用 2FA 时抛出 SQLSTATE[HY000]: General error: 1364 Field doesn't have a default value。










