You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel部署到Heroku报错Vite manifest not found问题咨询

问题报错

部署Laravel项目到Heroku后页面抛出异常:Vite manifest not found at: /app/public/build/manifest.json,本地localhost环境运行正常,报错效果如下:
Vite manifest缺失报错截图
即使本地提前执行过以下命令,推送后问题依旧存在:

npm install
npm run dev
npm run build
根本原因
  1. Laravel默认在.gitignore规则中排除了/public/build目录,本地执行npm run build生成的Vite构建产物(包含manifest.json)不会被Git提交,自然不会随代码推送到Heroku运行环境。
  2. Heroku默认使用的PHP构建包不会自动安装Node.js环境,也不会自动执行前端资源构建命令,就算移除了gitignore规则,若构建流程没适配,线上环境依然拿不到生产模式的Vite产物。
  3. npm run dev是Vite开发服务启动命令,不会生成生产环境所需的静态构建文件,对解决这个报错没有实际作用。
可行修复方案

方案1:配置Heroku自动构建前端资源(推荐)

这是符合Heroku部署规范的长期方案,不需要提交构建产物到Git仓库:

  • 给Heroku应用按顺序添加Node.js和PHP双构建包,先安装Node环境再处理PHP逻辑,在本地项目根目录执行Heroku CLI命令:
heroku buildpacks:add heroku/nodejs
heroku buildpacks:add heroku/php
  • 打开项目根目录的package.json文件,确认存在build脚本,同时添加Heroku自动执行构建的配置项:
{
  "scripts": {
    "dev": "vite",
    "build": "vite build"
  },
  "heroku-run-build-script": true
}

配置完成后重新推送代码到Heroku,部署流程会自动执行npm install和npm run build,生成的manifest.json和其他前端静态资源会直接放入运行环境的对应目录。

方案2:提交本地构建产物到仓库(应急用)

如果需要快速修复,可以临时调整忽略规则,把本地构建的产物提交到仓库:

  • 打开根目录.gitignore文件,删除或注释掉/public/build这一行规则
  • 本地重新执行npm run build,确认public/build/manifest.json文件存在
  • 将public/build目录下的所有文件提交到Git,重新推送到Heroku
    注意:该方案每次修改前端代码后都需要本地重新执行build命令再提交,容易出现代码和线上资源不同步的问题,不建议长期使用。

方案3:清理线上缓存排除配置干扰

如果完成上述配置后依然报错,执行以下命令清理Heroku上的Laravel缓存:

heroku run php artisan config:clear
heroku run php artisan cache:clear
heroku run php artisan view:clear

避免本地生成的配置缓存被带到线上,导致Vite路径解析异常。

内容的提问来源于stack exchange,提问作者Solayman Mousa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 05:45:41