LoginSignup
0
0

More than 3 years have passed since last update.

gemとbundlerについて詳しく学習

Last updated at Posted at 2020-06-18

gemとは

gemとはrubyのライブラリのことです。
一応railsのライブラリにもなりますが、railsはもともとrubyのライブラリの
1つであるため、正しくはrubyのライブラリであるという認識が必要です。

bundlerとは

gemを管理するものです。
例えばbundlerを使うと以下のようなメリットがあります。

1.bundlerを使ってgemをインストールするとgem同士の互換性を保ってくれるので、
gemを追加したり時間が経ってもエラーを起こさず開発できる

(補足)例えばAというgemがあって、Aを使うにはBというgemを使う必要がある、
そのgemを使うにはCというgemを….となっている時、
AはBに依存しており、BはCに依存しているということになります。

2.Gemfileという1つのファイルにgemを書くのでgemの管理がしやすい

3.Gemfileを使ってアプリごとにgemを管理できる

4.環境ごとにインストールするgemを管理できる。

bundlerでよくあるエラー

よくある原因はgem同士のバージョンがあっていない可能性があります。
なのでもしbundle installコマンドでエラーが発生した際にはまず始めに
gem fileの中を確認することがポイントです。
また、Gemfile.lockを削除することで解決する場合もあります。
Ruby on Railsのファイルの中にあるGemfile.lockというファイルではGemの
バージョン指定が管理されています。
なので、Gemfile.lockのファイルを削除してからもう一度bundle installをして
みましょう。
※ちなみにGemfile.lockはbundle installした後の結果を記したものです。
削除し再度インストールを実行することで、また作成されますのでご安心を。

まとめ

gemとはrubyのライブラリであり、たくさんのプログラムをまとめたものになります。
そしてそのライブラリの種類やバージョン管理を行っているのがbundlerです。

MacOSで例えるとHomebrewやiphoneで例えるとApp storeがrubyにおける
bundlerになるイメージです。
何気なく使用しているbundle installコマンドはbundlerで管理されたライブラリを
gemfileの中から見つけインストールするためのコマンドであるということが分かりました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0