LoginSignup
0
0

More than 1 year has passed since last update.

RubyのGemについてのまとめ

Posted at

今回のテーマ

今回は、RubyのGemについて学んだことを投稿していきたいと思います。主に、gem,bundler,gemfileについて書いていきたいと思います。

gem

gemは、ログイン機能や検索機能など、便利な機能がパッケージ化されたRubyの外部ライブラリである。使用するには、インストールと読み込みが必要である。コマンドで以下を実行すると、gemをインストールすることができる。また、インストールしているgemの一覧を表示するには、gem listを使う。

gem install インストールしたいgem名

実際にgem listを実行すると、以下のように自分のPCにインストールされているgemが表示される。

$ gem list
*** LOCAL GEMS ***

actioncable (6.1.4, 6.1.3.2)
actionmailbox (6.1.4, 6.1.3.2)
actionmailer (6.1.4, 6.1.3.2)
actionpack (6.1.4, 6.1.3.2)
actiontext (6.1.4, 6.1.3.2)
actionview (6.1.4, 6.1.3.2)
activejob (6.1.4, 6.1.3.2)
activemodel (6.1.4, 6.1.3.2)
///
省略
///
xmlrpc (0.3.0)
xpath (3.2.0)
zeitwerk (2.4.2)
zlib (default: 1.0.0)

※用語の解説

  • パッケージ =>プログラムの部品で便利な機能を一まとめにしたもの。
  • ライブラリ =>汎用性の高い機能を、他のプログラムを呼び出して使えるように部品化して集めたファイル
  • 外部ライブラリ =>開発者が他の開発者にも使えるように開発したライブラリ

bundler

gem同士の依存関係やgemのバージョンを管理するgemの一種である。
例えば、あるgemのバージョンを使うために、別のgemのバージョンが必要だったとする。この時、この二つのgemは依存関係にある。という。ただ、正しいバージョンの組み合わせでインストールしないと、意図しない動作をする恐れがある。
->bundlerを使うことで、このような依存関係にあるgemの一括インストールを行うことができる。
gemのバージョンを確認するには、以下のコマンドを打てば良い。

$ bundler -v
Bundler version バージョンの数

Gemfile

bundlerによってインストールされたgemの一覧を管理するファイルである。インストールされているgemとそのバージョン一覧が記述されている。railsのgemをインストールすると、gemfileが生成されるが、その時のgemfileの例を以下にあげる。

source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby '2.6.6'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails', branch: 'main'
gem 'rails', '~> 6.1.4'
# Use sqlite3 as the database for Active Record
gem 'sqlite3', '~> 1.4'
# Use Puma as the app server
gem 'puma', '~> 5.0'
# Use SCSS for stylesheets
gem 'sass-rails', '>= 6'
# Transpile app-like JavaScript. Read more: https://github.com/rails/webpacker

///
省略
///

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

まとめ

以上のことをまとめると以下になる。

  • gem:様々な機能がパッケージされたRubyの外部ライブラリのこと
  • bundler:gem同士の依存関係を管理する。
  • gemfile:bundlerによってインストールされたgemとバージョンが記述されたファイル

まだまだ勉強中ですが、見ていただきありがとうございました。

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