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

含webpack的Rails应用部署Heroku失败:找不到webpack可执行文件

解决Heroku部署Rails应用时“找不到webpack可执行文件”的问题

我之前也踩过一模一样的坑——哪怕你完全没在app/javascript目录写代码,只要项目是用带webpack的Rails模板创建的,Heroku部署时就会触发webpacker的构建流程,一旦相关依赖或配置没到位,就会报这个“找不到webpack可执行文件”的错误。下面是我亲测有效的解决步骤:

1. 本地补全webpacker基础依赖与配置

先在本地把webpacker的必要依赖和配置补全,避免Heroku构建时缺项:

  • 运行 bundle exec rails webpacker:install,这个命令会自动安装webpack相关的npm/yarn依赖,生成webpack.config.js、config/webpack等核心配置文件。
  • 接着执行 yarn install(用yarn的话)或者 npm install,确保所有前端依赖都安装完整。

2. 给Heroku配置正确的构建顺序

Webpack是Node.js工具,必须让Heroku先安装Node环境,再处理Ruby依赖:

  • 执行命令 heroku buildpacks:add heroku/nodejs --index 1,把Node.js构建包放在Ruby构建包前面,这样Heroku会先安装Node和前端依赖,再处理Rails的bundle安装。

3. 确保webpacker入口文件存在

哪怕你不用app/javascript写代码,webpacker也需要一个默认入口文件才能正常执行构建。如果项目里没有app/javascript/packs/application.js,就创建一个(空文件也可以):

// app/javascript/packs/application.js
// 空文件即可,只要存在就不会触发找不到入口的错误

4. 添加生产环境构建脚本(可选但保险)

在项目根目录的package.json里添加生产环境构建脚本,确保Heroku能正确调用webpack:

"scripts": {
  "build": "webpack --mode production"
}

5. 清理缓存后重新部署

Heroku有时会缓存旧的依赖或构建产物,导致问题持续,所以先清理本地缓存再推送:

  • 本地运行 bundle clean --force
  • 提交所有修改:git add . && git commit -m "Fix webpack executable issue for Heroku deployment"
  • 最后推送到Heroku:git push heroku main

如果还是不行,可以通过 heroku logs --tail 查看完整构建日志,找找有没有隐藏的错误(比如npm依赖安装失败、权限问题等)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 07:11:16