Rails, Capistrano も使ってる前提です。
まず Gemfile に、プラットフォーム別のグループを作ります。
darwin, linux というグループ名でなくてもいいですが、後述のことを考えるとこれが無難です。
group :darwin do gem 'mac 用 gem' end group :linux do gem 'linux 用 gem' end
次に、config/appication.rb に以下を追加します。
if group = RUBY_PLATFORM[/(linux|darwin)/, 1] Bundler.require group end
定数 RUBY_PLATFORM の結果を使って、読み込むグループを決めています。
最後に、config/deploy.rb で、デプロイ時に不要なグループを読み込まないようにします。
set :bundle_without, [:development, :test, :darwin]
(require 'bundler/capistrano' している前提です)