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

Express应用Heroku部署失败求助(附错误日志与配置)

解决Express应用部署Heroku的构建失败与H10错误

嘿,作为经常折腾Heroku部署的开发者,我一眼就看出你的问题出在跨平台脚本不兼容和依赖缺失上,咱们一步步搞定:

核心问题拆解

  • 问题1:Windows专属命令在Linux环境失效
    你prebuild脚本里的rd /s /q build是Windows系统专属的删除命令,而Heroku的服务器基于Linux,完全识别不了这个指令,直接导致构建第一步就卡壳。
  • 问题2:shx依赖未安装
    后来你换成了跨平台的shx rm -rf build,但没把shx添加到项目依赖里,Heroku构建时找不到这个工具,自然执行失败。
  • 连锁反应:H10应用崩溃错误
    因为prebuild脚本执行失败,整个构建流程直接中断,Heroku找不到可启动的应用文件,最终触发H10错误,导致应用无法访问。

具体修复步骤

1. 安装shx依赖

shx是一个能让你在跨平台环境下使用Unix命令行工具的包,先把它安装到项目的开发依赖(因为只在构建阶段用到):

npm install shx --save-dev

如果用yarn的话:

yarn add shx --dev

2. 更新package.json的scripts配置

把prebuild脚本改成纯跨平台的shx命令,彻底去掉Windows专属的rd命令:

{
  "scripts": {
    "prebuild": "shx rm -rf build",
    // 你的其他脚本(比如build、start等)...
  }
}

这样不管是在Windows本地开发,还是Heroku的Linux服务器上,这个命令都能正常执行。

3. 重新部署到Heroku

现在把修改后的代码提交到Git,然后重新推送到Heroku:

git add package.json package-lock.json
git commit -m "Fix prebuild script for cross-platform compatibility"
git push heroku master

额外验证小技巧

  • 本地先测试脚本:执行npm run prebuild,看看build文件夹是否被正确删除,确保本地没问题再推送到Heroku。
  • 如果还是遇到H10错误,可以用heroku logs --tail查看实时日志,确认是否还有其他遗漏的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 07:44:22