はじめに
gemとbundlerについて、
ちゃんと理解できていなかったので、備忘録としてまとめる。
gemとは
gem形式にパッケージングされたRuby用の外部ライブラリのこと。
gem形式とは
外部ライブラリのフォルダやファイルをgem形式(.gem)という1つのファイルに(パッケージング)まとめたもののこと。
参考:
https://pikawaka.com/ruby/how-gem-works#gem(gemパッケージ)とは
ライブラリとは、汎用性の高い機能を他のプログラムで呼び出して使えるように部品化して集めたファイルのこと。
ライブラリには大きく分けて標準ライブラリ、組み込みライブラリ、外部ライブラリの3種類あり、
gemは外部ライブラリにあたる。
備考:
Railsもgemパッケージとして提供されている。
他にも有名なgemとしては、ユーザ認証を簡単に実装できる「devise」、ページネーションを簡単に実装できる「kaminari」がある。
RubyGemsとは
Rubyのパッケージ(gem)を管理するシステムで、Ruby1.9以降から標準ライブラリとしてインストールされている。
「gemコマンド」を使うことでgemのインストール/アンインストールやインストールしたgemの一覧を表示することができる。
bundlerとは
gemのバージョンやgemの依存関係を管理してくれる「gem」
bundlerでは、GemfileとGemfile.lockを使って管理する。
Gemfileは、Railsアプリで利用するgemの一覧が載っているファイルのこと。
Gemfile.lockはRailsアプリで利用するバージョンも含めたすべてのgemの一覧が載っているファイル。
インストールしたgemと、依存関係のあるgemのバージョンも記載してくれる。
参考文献: