どうも、とがみんです。
Rubyには、開発効率を高めてくれる「gem」というシステム、ライブラリがあります。
この記事では、この「gem」とはどういうものなのか、どんな種類があるのか、また、Railsにおいてどのように「gem」をインストールするのかについて紹介していきます。
Contents
gemとは?
「gem」とは、Rubyで使用することのできる汎用性の高い機能をひとまとまりにしたライブラリを管理するシステムのことを言い、
また、それぞれのライブラリのことを「gem」とも言います。
この「gem」を活用することによって、あらゆる機能を一から自分で実装する必要がなくなり、必要な機能を簡単に実現することができます。
Ruby on Railsの開発環境を構築する際に、この「gem」というシステムを使用しました。
gemの種類
どんな種類のgemがあるのか、ダウンロード数が多い人気のgemをいくつか紹介します。
nokogiri
「nokogiri」というgemは、HTMLやXMLの構造を解析するためのライブラリで、スクレイピングでよく使用されます。
activerecord
「activerecord」というgemは、Rubyで書かれたオブジェクト指向のモデルと、リレーショナルデータベースを操作するためのSQLとの関連付けやデータベース検証等を行うためのライブラリです。
actionpack
「actionpack」というgemは、ブラウザからのリクエストを受け取って、それを処理し、レスポンスを返すといった機能を提供します。
>RubyOnRails を使ってみる 【第 4 回】 ActionPack
turbolinks
「turbolinks」というgemは、ページ遷移をする際に、ページ全体ではなく、その一部分だけを変更することによって、ページの表示を高速化するためのライブラリです。
Device
「Device」というgemは、ログイン認証機能を提供するライブラリです。応用すれば、TwitterログインやFacebookログインも実装することができます。
Railsにおけるgem
Ruby on Railsにを使用するにあたって、どんなgemが用意されているのか、
Railsにインストールされているgemの確認
Ruby on Railsにインストールされているgemを確認するためには、以下のコマンドをターミナル上で実行します。
以下のように、gemのリストが表示されます。たくさんインストールされていることがわかります。
gemのインストール
Railsでgemをインストールしたい場合は、Gemfileにインストールしたいgemの名前やバージョンをgem ‘gemの名前’のように記述します。
記述後、ターミナル上で以下のコードを実行すると、インストールされます。bundleでインストールした場合、Gemfileに書かれたgemが一括でインストールされます。
gemの削除
gemを削除する際は、ターミナルにてbundle exec gem uninstall ‘gemの名前’を実行します。
$ bundle exec gem uninstall ‘nokogiri’
Gemfile.lock
Gemfile.lockファイルはGemfileを作成し、bundlerを用いてgemをインストールした際に作られるファイルで、Railsにはデフォルトで備わっています。
この「Femfile.lock」というファイルには、gemやそのバージョン、取得先といった、bundlerが実際にインストールしたgemの詳細が書かれています。
これをコピーして、でつのディレクトリで使えば、全く同じ環境を構築することができます。
上記のコードでgemを削除した場合、このGemfile.lockに反映させるためには、
bundle updateまたはbundle installをターミナルで実行し、更新する必要があります。
まとめ
Rubyで用いられているパッケージ管理システム「gem」と、人気なgemについて紹介し、Ruby on Railsにおけるインストール方法について紹介しました。