Rubyのgemとは?概要から使い方までの解説まとめ
Rubyを勉強する際にgemという言葉を耳にすることがあると思います。今回はgemとはいったい何なのか、gemはどのように使うのかなどについて、初めてgemという言葉を聞いた人でもわかるように説明していきます。
gemを使うことでRubyでの開発をより効率的に進めることができるので是非使い方を覚えてください。
gemとは
まずは、gemとはいったい何なのかについて説明します。Rubyにおけるgemは以下の2つの意味を指すことがあります。
- RubyGemsが公開しているRubyのパッケージのこと
- それらのパッケージを管理するパッケージ管理システムの名前
それでは順番に説明していきます。
Rubyのパッケージとしてのgem
1つ目はRubyのパッケージ(ライブラリともいいます)としてのgemです。
パッケージとは、プログラムの部品で便利な機能をひとまとめにしたものです。パッケージを使用することで、自分で1からコードを書くことなく機能を実装することができ、開発効率が大きく上がります。
Rubyのgemにも便利なものがたくさんあり、例えば、ユーザー登録機能や認証機能といった複雑な機能も、gemを使えば簡単に実装可能です。本記事ではgemという言葉は主にこちらの意味で使っています。
パッケージ管理システムとしてのgem
2つ目は各gem(パッケージ)を管理するシステムであるRubyGemsを指してgemと呼ぶパターンです。
パッケージ管理システムはgemパッケージのインストールやアンインストールなどの操作に使います。しかし、最近ではRubyGemsを使ってgemを管理する機会は少なく、「bundler」というパッケージ管理ツールを使うことが多いです。
bundlerについてもあわせてご紹介します。
bundlerとは
bundlerとはgemを管理するためのツールで、bundler自体もgemの一種です。bundlerを使うことで、複数のgemの依存関係を保ちながらgemの管理ができます。
gemの依存関係について、以下のケースをみてみましょう。
gemAのバージョン2を使うためにgemBのバージョン1が必要なとき、gemAとgemBは依存関係があるといい、単なるgemの組み合わせだけでなく、どのバージョン同士を組み合わせるかどうかが密接に関連します。そのため、誤ってgemBのバージョン2を誤って入れてしまった場合には、gemAが正常に動作しない可能性があります。
このように、gem同士はさまざまな依存関係にあり、管理するgemの数が増えるほど複雑になっていきます。
bundlerはこのようなgem同士の依存関係を管理できるツールです。bundlerを使うことで、依存関係にあるgemを一括インストールすることができます。
gemの使い方
では、ここからは実際にgemをインストールして使う手順を解説していきます。なお、Rubyはすでにインストールされているものとします。
gemを探す
gemをインストールする前に、gemを探しかたをいくつか紹介します。
Rubyで開発をする際に何か実装したい機能があれば、以下で紹介する方法でgemを探してみるとお目当ての機能のgemが見つかるかもしれません。
いくつかgemを検索できるサイトを紹介します。
1. RubyGems.org - https://rubygems.org
大半のgemはこのRubyGems.orgに登録されています。
RubyGems.orgで実装したい機能をキーワードにして探すことで関連したgemを見つけることができます。
2. BestGems.org - http://bestgems.org/
また、BestGems.orgというサイトもおすすめです。
BestGems.orgではダウンロード数が多いランキング順でgemを調べることができます。人気のあるgemを見つけるのにおすすめです。
その他にも、上記サイトには登録されておらず、GitHubなどでソースが公開されているgemもあります。
gemをインストールする
それでは実際にgemをインストールする手順を説明します。gemによってインストール後の使い方は様々なため、今回はgemをインストールするところまでを解説します。
まずは先ほど紹介したパッケージ管理ツールのbundlerをインストールしていきます。以下のコマンドを実行することbundlerがインストールされます。
$ gem install bundler
インストールが正常に完了したかどうかは以下のコマンドで確認してください。
$bundler -v
「Bundler version 2.0.1」などのバージョンが表示されれば正常にインストールされています。
このように「$ gem install ○○」というコマンドを使うことで、gemをインストールすることができます。また、gemコマンドではgemのインストール以外の操作も可能です。
いらなくなったgemのアンインストールは、
$ gem uninstall ○○
インストール済みのgemの一覧表示は、
$ gem list
といったコマンドでおこなうことができます。
他にも様々なコマンドがあるので、以下のガイドなどで是非調べてみてください。
Command Reference - RubyGems Guides
まとめ
今回はRubyのgemについての概要やインストール方法について解説してきました。
様々なgemを使いこなすことでRubyでの開発をより効率的に進めていきましょう。