Laravel+Inertia+Vite+Vue部署Vercel时Ziggy文件缺失问题求助
问题分析
本地正常但Vercel构建失败,核心原因是Vercel构建环境中缺少Composer安装的Ziggy依赖文件——本地执行过composer install生成了vendor目录,但Vercel默认不会自动处理PHP依赖安装,导致找不到vendor/tightenco/ziggy/dist/vue.es.js。
解决方案
方案1:配置Vercel构建时自动安装Composer依赖(推荐)
无需修改代码,仅调整Vercel构建流程:
- 登录Vercel控制台,进入目标项目
- 点击「Settings」→「Build & Development Settings」
- 将「Build Command」替换为:
composer install --optimize-autoloader --no-dev && npm run build - 保存后重新触发构建即可。
方案2:改用npm版Ziggy替代Composer包引用
完全通过npm管理Ziggy依赖,摆脱对PHP vendor目录的依赖:
- 本地安装官方npm包:
npm install ziggy-js - 修改
vite.config.js的别名配置:resolve: { alias: { ziggy: path.resolve(__dirname, 'node_modules/ziggy-js/dist/vue.es.js'), }, }, - (可选简化)直接修改
app.js的导入语句,无需配置别名:import { ZiggyVue } from 'ziggy-js' - 提交代码后重新部署。
方案3:提交vendor目录到Git(不推荐)
将vendor目录加入版本控制,让Vercel拉取代码时直接获取依赖文件:
- 打开
.gitignore,删除或注释掉/vendor行 - 提交vendor目录到Git:
git add vendor git commit -m "Add vendor directory for deployment" - 推送代码后重新部署。注意:此方法会大幅增加仓库体积,不利于依赖版本管理,仅作为临时应急方案。
内容的提问来源于stack exchange,提问作者user15097715
相关产品推荐
相关产品推荐

