見出し画像

【Heroku】Rails + Vueのアプリがデプロイできなかった時の解決法

ローカル環境ではforemanを使用して、rails sとwebpack-dev-serverで開発しておりました。

そのままHerokuにデプロイしたところ、デプロイに失敗しました。
その際の解決方法です。

0、バージョン

ruby:2.6.5
webpacker:5.2.1

1、結論

下記コマンドを打ってbuildpackを追加した後にデプロイをすると成功しました。
※「sushi」はアプリ名です。

heroku buildpacks:add -a sushi --index 1 heroku/nodejs
heroku buildpacks:add -a sushi --index 2 heroku/ruby

2、buildpacksとは?

そもそも「buildpacks」について調べると、こちらに下記の記載ありました。

Buildpacks are responsible for transforming deployed code into a slug, which can then be executed on a dyno.

意訳:ビルドバック(Buildpacks)はデプロイされたコードをスラッグ(slug)に変換する責任があります。スラッグはダイノ(dyno)で実行可能です。

ソースコードをDyno上で動く実行ファイル(slug)に変換(ビルド)する仕組みのようです。名前の通りでした。

今回のケースではRuby と Vueを動かすためのnode.js、2つのビルドバックを設定する必要がありました。

Heroku公式にも記事がありました。

この記事が気に入ったらサポートをしてみませんか?