bundler について
今回は、自分が bundler の扱いを把握するまでに苦労したので、それを分かりやすくまとめていこうと思います。
まず、bunder について説明をする前に以下の周辺知識について軽く説明をします。
1 : Gem
2 : Gemfile
3 : Gemfile.lock
1 : Gem
Gem とは、ライブラリの1つ。複雑な機能でもGemを導入することによって簡単に実装ができるようになるといったもの。
2 : Gemfile
アプリケーションで用いる Gem の「名前」と「バージョン」を記載・管理するファイル。
3 : Gemfile.lock
Gemfile を参照してインストールされたGemの「名前」と「バージョン」を記録してくれるファイル。
ここで、Gem について補足説明があり、これがbundlerを理解する上でもっとも大切になることです。それは、
Gem は単体では動かず、他のGemと組み合わさって初めて機能する
ということ。
加えて、Gem 同時が正常に機能するバージョンはそれぞれが異なっています。下の画像を見るとイメージがしやすいと思います。
Gem を正常に動かすため、必要なGem を1つずつ調べ、バージョンも揃えてインストールをする。この作業は不可能ではないにしろ、とても大変です。それに人力ですのでミスタイピングによる思わぬエラーも出てくるはず。
そこで登場するのが、bundler です。
bundler を経由してGem をインストールすることによって、必要なGem を、適応するバージョンでそれぞれインストール・アップデートしてくれます。しかもとても簡単です。
1、Gemfile を開き、使用したいGem の名前(バージョン指定があればバージョンも)を記入する。
2、ターミナルからbundle install(update) コマンドを実行するだけ。
以上で、bunlder についての説明は終わりです。拙い説明でしたので、まだ少しイメージが掴めないという方がいらっしゃいましたら、下記のイメージ図をご覧ください。自分なりにではありますが、分かりやすくまとめさせていただきました。
最後までご覧いただきありがとうございました。
次回の更新は10月3日を予定しています。