Laravel Jetstream安装后Vite构建与npm依赖冲突问题求助
解决Laravel Jetstream安装后Vite构建错误及依赖冲突问题
问题总结
安装Laravel Jetstream(Livewire/Inertia选项)后,执行npm run build抛出TypeError: import_laravel_vite_plugin.refreshPaths is not iterable错误;执行npm install时出现依赖冲突:laravel-vite-plugin@0.2.4要求vite@^2.9.9,但当前项目使用vite@3.1.6。
解决方案
1. 升级laravel-vite-plugin到兼容Vite 3的版本
旧版laravel-vite-plugin@0.2.x仅支持Vite 2.x,需升级到支持Vite 3的版本(Laravel 9推荐使用^0.7.0版本):
npm remove laravel-vite-plugin npm install laravel-vite-plugin@^0.7.0 --save-dev
2. 修复vite.config.js配置
旧版插件可能未导出refreshPaths变量,导致扩展运算符报错。可直接手动指定刷新路径(替代...refreshPaths),修改后的配置如下:
import { defineConfig } from 'vite'; import laravel from 'laravel-vite-plugin'; export default defineConfig({ plugins: [ laravel({ input: [ 'resources/css/app.css', 'resources/js/app.js', ], refresh: [ 'resources/views/**/*.blade.php', 'resources/js/**/*.vue', 'app/Http/Livewire/**', ], }), ], });
3. 清理缓存并重新安装依赖
rm -rf node_modules package-lock.json npm install
4. 重新执行构建命令
npm run build
问题原因
- 依赖版本不兼容:
laravel-vite-plugin@0.2.x仅适配Vite 2.x版本,与你使用的Vite 3.1.6存在版本冲突 - 配置语法错误:旧版插件未提供
refreshPaths可迭代导出,使用...refreshPaths会触发不可迭代类型错误
内容的提问来源于stack exchange,提问作者whizboy
相关产品推荐
相关产品推荐

