[Heroku][Rails] Gemfile を編集したら必ず bundle install をする

Sun, November 20, 2011 - 2 min read

Heroku + Rails で開発をしてて、不要な gem を Gemfile から削除したら、必ず bundle install をしましょう。


Gemfile を編集するときの手順は以下の通りです。

1. Gemfileにgemを追加する(または、不要なgemを削除する)
  1. bundle install

  2. git add, git commit

  3. 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 をするように心掛けたい、現場からお送りしました。