Jetstream 必须配合标准 Laravel 项目并执行 php artisan jetstream:install 才能正确集成,仅 composer require 无法启用认证功能;安装后还需运行 npm run dev 和 php artisan migrate。

Jetstream 不是直接 composer require 就能用的独立包,它必须配合 Laravel 项目骨架和特定的安装命令才能正确集成。跳过 php artisan jetstream:install 这一步,只装包不执行脚手架,会导致视图缺失、路由未注册、前端资源未生成,后续几乎无法启动认证流程。
Jetstream 安装前必须已有 Laravel 项目
Jetstream 是 Laravel 的“高级脚手架”,不是普通扩展包。它不支持在任意 PHP 项目里安装,也不兼容非 Laravel 环境。
- 必须使用
composer create-project laravel/laravel my-app或laravel new my-app初始化一个标准 Laravel 项目(推荐 Laravel 10+,Jetstream 官方已停止对 Laravel 8 的主动维护) - 不能先建空文件夹、
composer init、再手动加 Laravel 核心——这会漏掉autoload配置、Artisan 脚本钩子,导致php artisan jetstream:install执行失败或命令不可见 - 确认项目已可正常运行:
php artisan serve能打开欢迎页,且php artisan --version输出明确版本号
composer require laravel/jetstream 只是第一步
这条命令只是把 Jetstream 包拉进 vendor/,真正关键的是后续的 Artisan 命令。很多人卡在这步后以为装完了,结果访问 /login 404,就是因为没跑安装器。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 运行
composer require laravel/jetstream后,必须立刻执行php artisan jetstream:install livewire或php artisan jetstream:install inertia - 选
livewire表示用 Blade + Livewire 构建交互逻辑;选inertia表示用 Vue/React + Inertia.js,二者不可混用 - 如果要启用团队功能,加
--teams参数:例如php artisan jetstream:install livewire --teams - 该命令会覆盖默认的认证相关路由、控制器、视图,并发布配置文件
config/jetstream.php
前端资源构建和迁移缺一不可
Jetstream 的登录/注册页面依赖前端组件(Livewire 的 Blade 组件或 Inertia 的 Vue 页面),这些不会自动出现在 public 目录下,必须显式构建。
- 运行
npm install && npm run dev(Laravel Mix)或npm run build(Vite,默认 Laravel 10.43+) - 若用 Vite,确保
vite.config.js中已包含 Jetstream 插件配置,否则@vite指令可能找不到资产 - 数据库迁移必须执行:
php artisan migrate,否则users、password_reset_tokens、personal_access_tokens等表不存在,注册时直接抛SQLSTATE[42S02] - 如已存在旧迁移,建议先
php artisan migrate:fresh清空重来,避免字段冲突(比如 Jetstream 新增了two_factor_secret字段)
常见报错与绕过陷阱
很多问题其实源于环境或顺序错误,而不是 Jetstream 本身有 bug。
-
Command "jetstream:install" is not defined:说明laravel/jetstream没装成功,或装完没清 Artisan 缓存。先运行php artisan clear-compiled和composer dump-autoload,再重试 -
Target class [App\Http\Controllers\Auth\LoginController] does not exist:这是典型“只装包没跑 install 命令”的表现,Jetstream 已移除传统 Auth 控制器,改用 Fortify,别试图恢复旧代码 - 注册后跳转到
/home但 404:检查是否忘了运行npm run dev,或者routes/web.php里没保留 Jetstream 注入的Auth::routes()(它由jetstream:install自动写入) - 双因素认证扫码失败:确认
APP_URL在.env中设为可访问地址(如http://localhost:8000),不能是http://127.0.0.1:8000,QR 码生成依赖此值
Jetstream 的核心复杂点不在安装命令本身,而在于它强制你接受一套预设的架构约定:Fortify 处理认证逻辑、Livewire/Inertia 承载交互、Vite/Mix 构建前端。跳过任一环,都容易陷入“看起来装好了,实际走不通”的状态。最常被忽略的是 npm run dev 和 php artisan migrate 这两步——它们不报错,但缺了就等于没装。

















