カテゴリ: Ruby 更新日: 2026/02/24

Bundlerの導入と使い方を完全ガイド!初心者でもわかるGemfileとbundle install

Bundlerの導入と使い方:Gemfileの書き方・bundle installのコツ
Bundlerの導入と使い方:Gemfileの書き方・bundle installのコツ

先生と生徒の会話形式で理解しよう

生徒

「Rubyでライブラリを追加して使う方法ってどうやるんですか?」

先生

「それにはBundlerという便利なツールを使うのがおすすめです。ライブラリはGemと呼ばれるのですが、それをまとめて管理できるんです。」

生徒

「Gemってなんですか?難しそう…」

先生

「GemはRubyで使える便利な追加機能のことです。Bundlerを使えば、それを簡単に導入できるんですよ。今から一緒に手順を見てみましょう!」

1. Bundlerとは?

1. Bundlerとは?
1. Bundlerとは?

Bundler(バンドラー)は、Rubyのライブラリ(Gem)をまとめて管理・インストールできるツールです。ライブラリとは、プログラムを作るときに使える便利な部品のようなもの。たとえば「日付を扱いやすくする機能」や「インターネット通信を簡単にする機能」など、世界中の開発者が作った便利なGemが数多くあります。

Rubyの学習を始めたばかりだと、「必要なGemはその都度追加すればよいのでは?」と思うかもしれません。しかし、プロジェクトが増えてくると「このアプリはどのGemを使っていたっけ?」「友達の環境では動かない…」といったトラブルが起きやすくなります。特に、Gemはバージョンが異なると動作しないこともあり、手動で管理するのは意外と大変です。

そこで役立つのがBundlerです。Bundlerは、「このプロジェクトで使うGemとそのバージョン」を一覧として記録し、まとめて管理できるツールです。買い物メモのように、必要なGemを「Gemfile」に書いておくことで、後から読み返したときにも何が必要なのかすぐに把握できます。


# Gemfile のイメージ(このプロジェクトで使うGemのメモ帳)
source "https://rubygems.org"

gem "pry"

上の例は「このアプリでは pry というGemを使います」と宣言しているだけのシンプルな内容です。プログラミング未経験の方でも、「Gemfileに使いたいGemをメモとして書くんだな」と理解しておけば大丈夫です。

このGemfileをもとに、Bundlerは必要なGemをまとめて準備してくれます。つまりBundlerを使うことで、環境の違いによるエラーを防ぎ、他の人と同じ状態で開発できるようになり、Ruby学習のつまずきポイントを大きく減らせるのです。

2. Bundlerのインストール方法

2. Bundlerのインストール方法
2. Bundlerのインストール方法

Bundlerを使うには、まずお使いのパソコンにBundler本体をインストールする必要があります。Ruby本体がすでにインストールされていればOKです。ここでは、Ruby初心者やプログラミング未経験の方でも迷わないように、ターミナルの操作から順番に説明していきます。

まずはターミナル(コマンドプロンプトやPowerShellなど、文字だけで操作する黒い画面のツール)を開きます。どのフォルダで実行しても問題ありません。開けたら、次のコマンドをそのまま入力して、Enterキーを押してください。


gem install bundler

このコマンドを実行すると、インターネットからBundlerがダウンロードされて、Rubyの環境にインストールされます。「gem」というのは、Rubyに最初から用意されているライブラリを管理するためのコマンドです。はじめて見ると難しそうに感じますが、「gem コマンドに bundler を入れてね、とお願いしているだけ」と考えると少し気が楽になるはずです。

インストール中は、英語のメッセージがいくつか表示されますが、エラーが出なければそのまま待っていて大丈夫です。回線やパソコンの性能によっては少し時間がかかることもあります。処理が完了したら、次は本当にBundlerが入ったかどうか、バージョン情報で確かめてみましょう。


bundler -v

Bundler version 2.4.22

上のように「Bundler version ~」と数字が表示されれば、Bundlerのインストールは成功です。表示される数字(2.4.22 など)はバージョン番号で、「今このパソコンにはこのバージョンのBundlerが入っていますよ」という意味です。

もしここで「command not found」などのエラーが出る場合は、Ruby自体が正しくインストールされていないか、パスの設定がうまくいっていない可能性があります。その場合は、いったんRubyのインストール手順や環境設定を見直してから、もう一度同じコマンドを試してみてください。Bundlerが入ってしまえば、このあとのGemfileの作成やbundleコマンドの実行がスムーズに進められるようになります。

3. Gemfileを作成する

3. Gemfileを作成する
3. Gemfileを作成する

Bundlerの大きな特徴のひとつが、Gemfileという専用のファイルに「このプロジェクトで使うGem」をまとめて書いておけることです。これがあることで、自分だけでなくチームメンバーも同じ環境を簡単に再現でき、後から見直すときも「このアプリで必要なGemは何だったっけ?」と迷うことがなくなります。プログラミング初心者ほど、Gemfileの存在が作業の整理に役立ちます。

まずは作業用のフォルダを作り、そのフォルダの中で次のコマンドを実行します。どのOSでも同じように使えるため、操作に迷わず進められます。


bundle init

このコマンドを実行すると、同じフォルダに「Gemfile」というファイルが自動で作成されます。中身は最初は非常にシンプルで、「Gemを追加する準備が整った状態」です。Gemfileはメモ帳のような役割を持っており、プロジェクトで使用したいGemを順番に書き足していきます。

たとえば、デバッグ用のツールを使いたい場合や、API通信を手軽に行いたい場合は、次のようにGemfileへ追加します。


# Gemfile
source "https://rubygems.org"

gem "pry"
gem "httparty"

この例では、pry(コードの途中で動作を確認できる便利ツール)と、httparty(Web API のデータ取得などに使えるGem)を指定しています。まだGemがどう動くか想像できないかもしれませんが、「使いたいGemの名前をここに書いておくと、あとでBundlerがまとめて用意してくれる」という点だけ理解しておけば十分です。

こうしてGemfileを作ることで、プロジェクトに必要なライブラリが一覧になり、管理がとても楽になります。時間が経っても、他の人が見ても分かりやすい形になるため、開発の土台としてとても重要な役割を果たします。

4. bundle installでGemをインストール

4. bundle installでGemをインストール
4. bundle installでGemをインストール

Gemfileに書いたGemをまとめてインストールするには、次のコマンドを実行します。


bundle install

すると、Gemfileに記載したGemが一気にインストールされます。これで開発環境の準備が整いました。

インストールしたGemは「Gemfile.lock」というファイルにバージョン付きで記録されます。これがあることで、チームで開発する場合にも「みんな同じ環境」で作業ができるようになるのです。

5. よくあるトラブルと対処法

5. よくあるトラブルと対処法
5. よくあるトラブルと対処法

Bundlerを使い始めた初心者がよくつまずくポイントも紹介します。

  • bundle installでエラーが出る
    → RubyのバージョンやGemの依存関係が原因の場合があります。まずはgem update --systemで最新化してみましょう。
  • Gemfileが読み込まれない
    → 実行時にbundle execを付けてみてください。例:bundle exec ruby app.rb
  • 古いGemのバージョンを使ってしまう
    → Gemfileにバージョン指定を追加しましょう。例:gem "rails", "7.0.0"

6. Bundlerを使うメリット

6. Bundlerを使うメリット
6. Bundlerを使うメリット

Bundlerを使うことで、次のようなメリットがあります。

  • Gemのバージョンが統一でき、環境が安定する
  • 必要なGemを一括でインストールできる
  • Gemfileを共有すれば、他のパソコンでも同じ環境をすぐに再現できる

たとえば、友達と一緒にアプリを作るときでも、Gemfileを渡すだけで同じ環境が再現できます。プログラミングを学び始めた初心者にとっても、ミスなく効率的に開発を進められるので安心です。

7. 実際にGemを使ってみよう

7. 実際にGemを使ってみよう
7. 実際にGemを使ってみよう

最後に、Bundlerで導入したGemを使う簡単な例を試してみましょう。先ほどGemfileに追加したpryを使ってみます。


require "pry"

name = "Ruby"
binding.pry
puts "こんにちは、#{name}!"

このコードをapp.rbという名前で保存し、以下のコマンドで実行します。


bundle exec ruby app.rb

途中でpryが起動し、コードを一時停止して変数を確認できるようになります。これがGemを導入することで得られる便利さの一例です。

まとめ

まとめ
まとめ

Bundlerを使ったRubyのライブラリ管理は、初心者にとって学習の入り口となるだけでなく、本格的なアプリケーション開発でも欠かせない重要な作業です。GemというRubyの追加機能を安全かつ効率的に扱うためには、単にコマンドを覚えるだけではなく、Gemfileを使った環境管理の仕組みや、bundle installがどのように依存関係を解決しているのかを理解しておくことがとても大切です。特にGemfileは、どんなプロジェクトでも中心となる設定ファイルであり、Rubyの開発における「設計図」のような存在です。必要なGemを明確に記述するだけで、プロジェクト環境を安定させ、開発中のトラブルを防ぐ効果があります。 さらにBundlerは複数のGemをまとめて管理するだけではなく、Gemfile.lockを用いてバージョンを固定し、同じ環境を誰でも再現できるようにする役割を持ちます。これは個人開発だけでなく、チーム開発において特に大きな意味があります。環境が揃っていないと「自分のパソコンでは動くのに、他の人のパソコンでは動かない」などのトラブルが起こりがちです。しかしGemfileとGemfile.lockがあれば、同一環境を再現できるため、開発の混乱を防ぐことができます。 また、BundlerでGemを導入する前に、Ruby本体のバージョンが適切かどうか確認することも重要です。Gemによっては特定のRubyバージョンを要求するものがあり、エラーが出た場合にはまずRubyとGemのバージョン関係を見直すのが効果的です。bundle install時にエラーが出た場合には、依存関係の問題であることが多いため、gem update --systemやbundle updateを適切に使い分けることで解決できます。特に初心者のうちは、依存関係の問題が何を意味しているのか理解しづらい場合がありますが、実際には「他のGemと組み合わせるための条件」が揃っていないだけなので、焦らず一つずつ確認すれば必ず解決できます。 Bundlerの良さは、ただGemをインストールするだけでなく、必ずGemfileに記述したものを基準に動作するという点にあります。この仕組みにより、Gemfileに書いていないGemは使われず、あらゆる実行環境で同じ組み合わせが保証されます。初心者がやりがちな「ローカルに入っているGemと本番環境のGemが違う」というトラブルも、Bundlerを使うことで自然と防がれるようになります。 また、bundle execコマンドの役割も見逃せません。これはGemfileに基づいた環境でRubyを実行するためのものであり、特に複数バージョンのGemが混在している場合でも、プロジェクト専用の環境を強制的に使うことができます。これによって、想定と違うバージョンのGemが読み込まれたり、思わぬ挙動をすることがなくなります。 ここまでBundlerの基礎、Gemfileの書き方、bundle install、bundle exec、そしてよくあるエラーの対処法までを振り返りましたが、最後に実際のBundlerを使った簡単なサンプルコードを載せておきます。Gemの導入から実行までの流れが自然に理解できる内容です。


# Gemfile
source "https://rubygems.org"
gem "pry"
gem "json"

# app.rb
require "pry"
require "json"

data = { name: "Ruby", version: "3.2" }
puts JSON.pretty_generate(data)

binding.pry
puts "処理が終了しました"

このサンプルでは、JSON形式のデータを整形して出力し、その途中でpryを使って変数の状態を確認できる構成になっています。BundlerでGemを導入しておけば、requireを書くだけで必要な機能をすぐに使えるため、Rubyの開発が非常にスムーズになります。BundlerはRuby開発の基礎として必ず身につけるべきツールであり、この仕組みを理解することで、より大きなアプリケーションやWebサービスを安全に管理しながら開発できるようになります。初心者のうちからこの仕組みに慣れておくことで、将来のスキルにも大きく役立つでしょう。

先生と生徒の振り返り会話

生徒

「Bundlerって最初は難しそうに見えましたが、使ってみるととても便利な仕組みなんですね!」

先生

「そうなんですよ。Gemの導入から実行環境の統一まで、Rubyの開発では欠かせない道具なんです。」

生徒

「Gemfileで使うライブラリを一覧にして管理できるのがとても分かりやすいです。環境も揃いやすくて安心できますね。」

先生

「その通りです。特にbundle execを使うことで、指定した環境だけを確実に利用できます。初心者がつまずきやすい部分を減らしてくれるんですよ。」

生徒

「これなら他の人と一緒に開発するときも安心して作業できそうです!」

先生

「まさにBundlerの強みです。今の理解を生かして、ぜひGemを活用したRuby開発にどんどん挑戦してみてください。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Bundlerとは何ですか?Rubyの開発でどんな役割をしますか?

BundlerはRubyのライブラリであるGemを管理・インストールするためのツールです。Gemfileを使って必要なGemをまとめて指定し、環境を統一できます。
関連記事:
カテゴリの一覧へ
新着記事
New1
Rails
Rails GoodJob入門!PostgreSQLベースのバックグラウンド処理を初心者向けに完全解説
New2
Ruby
Rubyで学ぶビット演算入門:&・|・^・~・<<・>>の基礎と実例
New3
Rails
RESTとRailsの関係を徹底解説!resources設計と7つの標準アクションを初心者向けにわかりやすく解説
New4
データベース
MySQLアーキテクチャ入門!初心者向けに基本構造と仕組みを徹底解説
人気記事
No.1
Java&Spring記事人気No1
Ruby
Rubyのreduceとinject入門!合計計算や集計を初心者向けに分かりやすく解説
No.2
Java&Spring記事人気No2
Ruby
Rubyの文字列エンコーディング完全ガイド!Encoding・force_encoding・encodeを初心者向け解説
No.3
Java&Spring記事人気No3
Ruby
Rubyの始め方ガイド:インストールから最初のHello Worldまで(Windows/Mac/Linux)
No.4
Java&Spring記事人気No4
データベース
PostgreSQLのWHERE句を徹底解説!初心者でもわかるSQLデータ抽出の基本
No.5
Java&Spring記事人気No5
Ruby
Rubyのfind/detect/find_indexを徹底解説!目的のデータを素早く探す方法
No.6
Java&Spring記事人気No6
Ruby
Rubyのselect/reject/filterの使い方を完全解説!初心者向けの条件抽出レシピ
No.7
Java&Spring記事人気No7
Ruby
Rubyで比較演算子を完全解説!==・===・<=>・eql? の使い分け
No.8
Java&Spring記事人気No8
データベース
PostgreSQLで順位付け!ROW_NUMBER関数の使い方を初心者向けに徹底解説