クイックリファレンス

Bundler Ruby 依存関係管理チートシート

RubyのBundlerクイックリファレンス:bundle install、Gemの更新、Gemfile構文、本番デプロイ設定、ローカル開発連携。

· 公開日

Bundler Bundler は、Ruby アプリケーションに必要な Gem パッケージとそのバージョン依存関係を一元管理する公式ツールです。

よく使う CLI コマンド

bundle install          # 定義されているすべての Gem をインストール
bundle install -j4      # 4スレッド並列処理で高速インストール
bundle update           # すべての Gem を互換性のある最新版に一括更新
bundle update rails     # 特定の Gem のみを選択して更新
bundle outdated         # 古いバージョンの Gem を検出して一覧表示

bundle exec <command>   # プロジェクトの Gem 環境コンテキスト内でコマンドを実行
bundle show <gemname>   # Gem のローカルインストールディレクトリを表示
bundle info <gemname>   # Gem のバージョンや概要などのメタ情報を表示
bundle gem <my_gem>     # 新しい Gem 作成用プロジェクトスケルトンを生成

Gemfile 記述構文

基本的な依存関係宣言

source 'https://rubygems.org'

gem 'rails', '~> 7.1.0'
gem 'pg', '>= 1.5'
gem 'puma'

Git および GitHub リポジトリ参照

# GitHub リポジトリから直接指定
gem 'devise', github: 'heartcombo/devise'

# 特定の Git ブランチやタグを指定
gem 'devise', github: 'heartcombo/devise', branch: 'main'
gem 'nokogiri', git: 'https://github.com/sparklemotion/nokogiri.git', tag: 'v1.16.0'

環境別グループ指定

group :development, :test do
  gem 'rspec-rails'
  gem 'factory_bot_rails'
end

group :production do
  gem 'aws-sdk-s3'
end

本番環境(プロダクション)デプロイ

CI/CD パイプラインや本番サーバーでは、Gemfile.lock の改変を防ぐため deployment モードを有効化してインストールします:

# モダンな Bundler デプロイ設定
bundle config set --local deployment 'true'
bundle config set --local without 'development test'
bundle install

ローカル Gem のオーバーライド開発

ローカルで開発中の Gem ディレクトリを指定して直接参照:

bundle config local.my_gem ~/Developer/Projects/my_gem

関連テーマ