如何使用 Rails 6 在 Heroku 上安装 Webpacker

How do I install Webpacker on Heroku with Rails 6

我正在尝试使用 Webpacker

将 Rails 6 应用程序安装到 Heroku

git push heroku 命令似乎触发了整个构建过程

node.js调用成功并完成。

devDependencies 然后显然得到 p运行ed。

然后 ruby buildpack 开始安装所有 ruby gem 并“检测 rake 任务”,在此期间 运行s rake assets:precompile

然后我得到:

Compilation failed:
CLI for webpack must be installed.
webpack-cli (https://github.com/webpack/webpack-cli)

我很确定我需要 运行

bin/rails webpacker:install

资产编译开始之前的某个地方,但是没有机会像 node.js package.json 脚本挂钩一样自定义构建脚本,从我所看到的情况来看,我只是结束了最多:

Precompiling assets failed.
Push rejected, failed to compile Ruby app.

那么我应该如何解决这个问题并在 heroku 尝试编译资产之前正确安装 webpacker?

我认为解决方案是因为我是 运行 2 个 buildpack 顺序,node.js 后面是 ruby,我需要防止 node.js buildpack 被修剪package.json 中定义的 devdependencies(即 webpack)为:

  "devDependencies": {
    "webpack-cli": "^4.3.1",
    "webpack-dev-server": "^3.11.1"
  },

作者:

echo Setting Heroku to not prune dev dependencies
heroku config:set NPM_CONFIG_PRODUCTION=false YARN_PRODUCTION=false

我认为最终结果是,当 ruby buildpack 调用 assets:precompile rake 任务时,webpacker CLI 仍然安装,而以前没有安装。