1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

gemそしてbundlerとは何か?

Last updated at Posted at 2023-04-12

はじめに

Railsチュートリアルを実践してgemに関してはある程度意味合いは理解したが、bundlerの必要性がわからなかったので、まとめてみました。

gemとは

Rubyのパッケージ管理システム、正式にはRubyGemsと言う
gemというパッケージを利用し複雑な機能の実装を簡単に行うことが可能になる

bundlerとは

gemの依存関係とバージョンを管理するためのツール

役割

Bundler makes sure Ruby applications run the same code on every machine.
(日本語訳: Bundlerは、Rubyアプリケーションをどのマシンでも同じコードで実行できるようにします。)
(GitHub: rubygems/bundlerより)

つまりbundlerがあることで複数人開発、チーム開発が容易になる

bundlerを使わないとどうなるのか

例えばgem install bootstrap-sassと実行したとする。(2023/4/12現在だと3.4.1が最新)

Aさんの依存Gem環境 Bさんの依存Gem環境
autoprefixer-rails(5.2.1) autoprefixer-rails(5.3.5)
sassc(2.2.1) sassc(2.4.1)

チーム開発だと必ずしも依存gemのバージョンが全員一致しているとは限らないので、上の表の様に依存しているgemのバージョンが違い、Aさんは動くけどBさんは動かないみたいな状況が起きてしまう

bundlerを使うとどうなるのか

bundle install パッケージ名で以下のようにgemがインストールされる

インストールしたgemとそのgemに依存するgemも、bundlerを経由して結びつけることによって、アプリを利用する全ての人が依存するgemも含めて同じ環境でアプリを動作させることが可能になる。

参考記事

Rubyのgemとは?概要から使い方までの解説まとめ
【Ruby】 gemの仕組みを図解形式で学ぼう
【Ruby入門】今更聞けない!Ruby bundlerとは
【Rails】 結局bundlerって何?bundlerの仕組みを図解形式で徹底解説

1
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?