Laravel 10 默认启用包自动发现,Livewire v4 安装后开箱即用;需 PHP ≥ 8.1,正确放置 @livewireStyles 和 @livewireScripts 标签,确保临时目录权限,并验证 X-Livewire 请求返回 JSON。

直接上手就能跑,不需要额外配置服务提供者或手动注册——Laravel 10 默认启用包自动发现,livewire/livewire 安装后开箱即用。
确认 PHP 和 Laravel 环境版本
Laravel 10 要求 PHP ≥ 8.1,Mac 上推荐用 brew install php@8.2 或更高(避免系统自带 PHP)。运行以下命令验证:
php -v<br>composer show laravel/framework | grep version
如果输出中 laravel/framework 版本是 v10.x,且 PHP 是 8.1+,就满足最低要求。Livewire v4(当前稳定版)已适配 Laravel 10,无需降级或打补丁。
安装 Livewire 并注入前端资源
执行安装命令即可,不用加 @beta(v4 已正式发布):
composer require livewire/livewire
然后确保你的主布局文件(如 resources/views/layouts/app.blade.php)包含两处关键标签:
-
@livewireStyles必须放在<head>末尾(不能在<body>里) -
@livewireScripts必须放在</body>前(且不能被其他 JS 阻塞执行)
漏掉任一标签,组件会渲染但无交互——控制台通常不报错,只静默失效。
生成并测试第一个组件
运行命令创建计数器:
php artisan make:livewire Counter
它会生成 app/Http/Livewire/Counter.php 和 resources/views/livewire/counter.blade.php。**不要修改类名或命名空间**,否则 @livewire('counter') 会找不到组件。
在任意页面中使用:
@livewire('counter')
刷新页面,如果看到「+」和「-」按钮并能响应点击,说明配置成功。如果没反应:
- 打开浏览器 Network 面板,筛选
X-Livewire请求,看响应是否为合法 JSON(不是 HTML 或空) - 检查是否误把
@livewireScripts放在了<head>或<body>外 - 确认没在中间件里用了
dd()、exit或提前return
Mac 特有路径与权限注意点
Livewire 临时上传目录(storage/app/livewire-tmp)在 Mac 上默认可写,但如果你用的是 Homebrew PHP + Valet,可能因用户组权限导致上传失败。遇到 file_put_contents(): Failed to open stream 类错误时,执行:
chmod -R 755 storage/app/livewire-tmp<br>chown -R $(whoami):staff storage/app/livewire-tmp
另外,Mac 的默认 shell(zsh)下,php artisan 命令若提示“command not found”,请确认 vendor/bin 已加入 $PATH,或直接用 ./vendor/bin/phpunit 同理处理 Livewire 命令。
真正卡住的往往不是安装步骤,而是 @livewireScripts 的位置、临时目录权限、以及 X-Livewire 请求返回非 JSON 这三处——它们都不报红字错误,却让整个交互链路静默中断。


















