Ruby on Rails 初心者必見!パッケージ管理ツール『gem』を徹底解説


Ruby on Rails 初心者必見!パッケージ管理ツール『gem』を徹底解説

「gemって何?」

「gemをインストールすると何ができるの?」

Ruby on Railsを学んでいる方の中には、このような疑問を持っている方がいるかと思います。Railsを使ってWebアプリケーションを開発する際、gemの理解は必要になってきます。

そこで今回はプログラミング初心者向けに、分かりやすく gem について解説していきます。

目次
  1. gemとは
  2. gemのメリット・デメリット
  3. gemコマンドの使い方
  4. gemのコマンド① gem list
  5. gemのコマンド② gem outdated
  6. 古いバージョンのgemすべてを削除
  7. gem arel 6.0.3 バージョンのみ削除
  8. gem arel の 6.0.3 以前のすべての古いバージョンを削除
  9. 新しいライブラリを自分で作る
  10. 人気があるgemを知ろう
  11. まとめ

gemとは

まずgemとは何か?を簡単に整理しておきましょう。Rubyにおけるgemは下記2つの役割を持ちます。

①パッケージ

②パッケージ管理ツール

パッケージとは便利な機能がまとまったものを指します。 まずは①パッケージの役割とはどのようなものなのか見ていきましょう。

例えばWebアプリケーションにユーザー登録やログイン機能などいわゆるユーザー認証機能を実装したいとします。これらを一からコードを書いて作っていくのは非常に時間がかかる作業と言えます。

image 画像:Deviceを使用したログイン画面

しかし「devise」と呼ばれるgemをインストールするだけで簡単にユーザー認証で必要な機能が揃います。パッケージを使うことで開発を効率的に進めることができるので、実際の現場でも使用されることが多いのです。

devise意外にもダミーの文章を自動で作成してくれる「Faker」やデバッグツールの「prybug」など非常に便利なgemが存在しています。

またほとんどのgemは Githubと呼ばれるサイトで管理されており、インストール方法や使い方などを見ることができるようになっています。

image

出典: Github

gemのメリット・デメリット

 メリット 

  • 簡単にパッケージをインストール可能なので、Ruby on Rails 初心者でも素早く本格的なアプリ機能を装備することができる。

  • アプリ内で使う各種機能・レイアウトをライブラリとしてパッケージ管理できるので、Rubyプログラマーの技術力優劣に左右されない安定したアプリを構築できる。

  • 誰でもRuby用ライブラリを作成・公開することができる。

 デメリット 

  • ほとんどの場合、インストール方法や使い方は英語で書かれているので理解するのに時間がかかることもある。
  • セキュリティーリスクがある**
  • Ruby on Rails との相関性、Railsのバージョンを上げると実装済みのライブラリにエラーが発生することがある。
  • 基本的にコマンドプロンプト(ターミナル)での操作が必要。

gemコマンドの使い方

次にgemに関するコマンドの使い方を見ていきましょう。

実際のRails開発現場では、gemのインストールや管理はコマンドプロンプトもしくはターミナルを利用することが多いです。この項目では頻繁に使用するコマンドに絞って解説していきます。

gemのコマンド① gem list

gem-list

現在 PCにインストールされているgemの一覧を表示するコマンドです。このコマンドではgemの名前とヴァージョンを見ることができます。

gemのコマンド② gem outdated

gem-outdated

このコマンドは最新版のgemが存在するかどうかをチェックできます。
上記画像にある Arel (6.0.3 < 7.0.0) の場合、現在 6.0.3 で最新版 7.0.0 に更新できることを意味します。
最新版へ更新する際は、コマンドに以下のコードを入力します。

gem update arel

arel-update


すべての gemを更新する場合は、以下のコマンドを入力します。(終了までに時間がかかります)

gem update

更新が終わって再度 gem list を叩くと、新しいライブラリと古いライブラリが混在することに気づきます。

gem-update


古いバージョンのgemが不要な場合は、以下のコードで削除することができます。

# 古いバージョンのgemすべてを削除
<strong>gem cleanup rjb</strong>

# gem arel 6.0.3 バージョンのみ削除
<strong>gem uninstall arel --version 6.0.3</strong>

# gem arel の 6.0.3 以前のすべての古いバージョンを削除
<strong>gem uninstall arel --version '&lt;6.0.3'</strong>

プラグイン arel 6.0.3 バージョンのみ削除 ライブラリarel6.0.3バージョンのみ削除

新しいライブラリを自分で作る

gemを使えば自分でライブラリを作ることも可能です。

gem-create-app

ライブラリを設定したい Rails の bin ディレクトリで以下のコードを実行すると、新規ライブラリを作ることができます。

rails plugin new test_app

また作成中もしくは完成したライブラリは、GitHub上で公開することもできますし、プライベートな管理で利用することができます。

人気があるgemを知ろう

最後に人気があるgemを調べる方法について解説していきます。Best Gemsというサイトにはこれまでダウンロードされたgemの一覧が表示されます。

image

どのgemを使えば良いか分からない方はBest Gemsを見れば参考になるかもしれません。 ちなみに先程説明した「bundler」も上位に入っていることが分かりますね。

Rubyでのサービス開発スキルが身に付く

無料カウンセリングはこちら

まとめ

ここまでgemの特徴などを解説してきました。Railsで開発する際は必ずと言っていいほどgemを使用します。効率的にWebアプリケーションを作りたい方は積極的にgemを使ってみるのも良いかと思います。


ヤマモト
この記事を書いた人
ヤマモト
まずは7日間お試し!人気プログラミング講座を無料公開中
オンライン・プログラミングレッスンNo.1のCodeCamp