プラットフォーム依存のgemのせいでデプロイがこける件

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:
* growl

みたいなメッセージがでてきてデプロイ大失敗した。

原因はGemfileにRUBY_PLATFORMを使ったことだった。

group :test do
  gem "growl" if RUBY_PLATFORM =~ /darwin/
end

上のメッセージはGemfileとGemfile.lockに不整合があるときに表示される。このようなGemfileの書き方だと、デプロイ先で実行したとき、gem "growl"が存在しないことになりGemfile.lockとの不整合が生まれると考えられる。

そこで、Gemfileをこう書き替えた。

group :test do
  gem "growl", group: :darwin
end

で、capistranoにこのグループをインストールしないように設定する。

# Ignore platform-specific gems
set :bundle_without, %w(development test darwin).join(" ")