LoginSignup
3
2

More than 5 years have passed since last update.

【Rails】ちゃんとビルドパック追加してる?【Heroku】

Last updated at Posted at 2018-11-21

背景

Herokuにデプロイして

bash
$ heroku run rails db:migrate

とかしたら

bash
/usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require`: cannot load such file -- bundler (LoadError)

なんて具合の初心者がデプロイ成功して安堵したところに突然襲いかかるようなエラー。
よく質問も見かけるわりにググってもヒットしづらい印象を受けた。
なのでここにでも書いておきます。
それほど難しいエラーでもないので、時間の浪費を防げれば幸い。

原因と解決

原因は大抵rubyのビルドパックが入ってないからなんだけど...
https://dashboard.heroku.com/apps/<アプリ名>/settings
Buildpacksって項目を見てばビルドパックが入ってるか確認できます。

bash
$ heroku buildpacks:add heroku/ruby

で追加。ダッシュボードから追加するのもあり。
追加したらデプロイし直す。これをしないと反映されない。

おまけ

Rails5.1以上だとyarnサポートによりyarn installを行う必要がある。
rubyのビルドパックにはyarn installを行うコマンドがないので
nodejsのビルドパックを追加する必要が出てくる

bash
$ heroku buildpacks:add --index 1 heroku/nodejs
$ heroku buildpacks:add --index 2 heroku/ruby

indexを指定してあげるのがミソ。この順番が大事。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2