Heroku + Rails で開発をしてて、不要な gem を Gemfile から削除したら、必ず bundle install をしましょう。
Gemfile を編集するときの手順は以下の通りです。
1. Gemfileにgemを追加する(または、不要なgemを削除する)
bundle install
git add, git commit
git push heroku master
bundle install しないと Gemfile.lock ファイルの内容が変更されないので、git push しても下記のようなエラーが出てしまいます。
$ git push heroku master
Counting objects: 17, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (9/9), done.
Writing objects: 100% (9/9), 714 bytes, done.
Total 9 (delta 7), reused 0 (delta 0)
-----> Heroku receiving push
-----> Ruby/Rails app detected
-----> Installing dependencies using Bundler version 1.1.rc
Running: bundle install --without development:test --path vendor/bundle --deployment
You are trying to install in deployment mode after changing
your Gemfile. Run `bundle install` elsewhere and add the
updated Gemfile.lock to version control.
You have deleted from the Gemfile:
* bootstrap-sass (= 1.4.0)
!
! Failed to install gems via Bundler.
!
! Heroku push rejected, failed to compile Ruby/rails app
To [email protected]:xxxxxx.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to '[email protected]:xxxxxx.git'
以上、Gemfile を編集したら必ず bundle install をするように心掛けたい、現場からお送りしました。