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

Laravel Mix应用部署至Heroku后未更新问题求助

Laravel Mix 部署到Heroku后线上显示旧版本的排查方案

我之前维护Laravel Mix项目部署到Heroku时,也碰到过一模一样的问题——本地代码和Heroku版本完全对齐,但线上就是不更新。给你几个亲测有效的排查和解决步骤:

1. 先确认Laravel Mix的构建产物是否被正确提交/构建

  • 首先检查你的.gitignore文件,是不是把public/js/、public/css/或者public/build/这些编译后的静态资源给排除了?如果是的话,本地执行npm run prod(生产环境一定要用prod构建,不要用dev)后,必须把这些编译产物通过git add public/js public/css(或者对应路径)添加到Git,再重新commit推送。
  • 如果不想手动编译提交,也可以让Heroku自动帮你构建:在项目根目录的package.json里添加"heroku-postbuild": "npm run prod"脚本,这样Heroku在安装依赖后会自动执行静态资源构建。记得推送这个修改后的package.json到Heroku。

2. 清除Heroku的构建缓存

Heroku会缓存node_modules和部分构建产物,有时候即使代码更新了,缓存的旧资源还在生效。执行下面的命令清除缓存:

heroku builds:cache:purge

清除后重新推送代码,查看Heroku的构建日志(heroku logs --tail),确认这次是重新安装依赖并执行了构建步骤。

3. 清理Laravel应用缓存

登录Heroku的远程控制台,手动清除Laravel的各类缓存:

heroku run bash
# 进入控制台后依次执行
php artisan config:clear
php artisan route:clear
php artisan view:clear

执行完后退出控制台,重启Heroku的dyno:

heroku restart

4. 检查部署日志和运行状态

  • 用heroku logs --tail实时查看日志,看看有没有构建失败的报错(比如npm依赖安装失败、Mix编译报错),这些错误可能导致Heroku fallback到之前的成功版本运行。
  • 确认你推送的分支确实被部署了:执行heroku git:remote -a your-app-name(替换成你的应用名),然后heroku releases查看最新的release是不是对应你推送的commit hash。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 14:07:43