• WebCampPro_インタビュー
    未経験31歳からエンジニア転職を実現【実際に聞いてみた】
    2017.04.01
  • WebCamp_インタビュー
    【WebCamp卒業生インタビュー】1ヶ月でRubyをゼロから学び、Webエンジニアとして転職!
    2018.01.15
  • WebCamp_インタビュー
    【WebCamp受講生インタビュー】起業準備中にCEOが気がついたプログラミングスキルの重要性とは?
    2017.12.25
  • WebCampPro_インタビュー
    自分で稼ぐ力をつけるため、新卒5年目の営業マンがエンジニアに転職!【WebCampPro転職者インタビュー】
    2018.02.02
  • WebCampPro_インタビュー
    未経験でも寿司職人からWebデザイナーになった!ホスピタリティでスクールを支える宮脇トレーナー
    2017.05.26
  • WebCamp_インタビュー
    【卒業生インタビュー】台湾で月間100万UUの訪日旅行メディアを手掛けるCEOが、プログラミングを学んで得たものとは?
    2018.01.15
  • WebCamp_インタビュー
    「1カ月頑張ればこの先が見えてくる」地元メディアを立ち上げたママさん
    2017.07.20
  • WebCamp_インタビュー
    時間や場所にとらわれず自由に働くために必要なスキルとは?【WebCamp卒業生インタビュー】
    2018.01.26
  • WebCamp_インタビュー
    “未経験”でもたった1ヶ月で営業からエンジニアとして転職!『WebCamp』受講者インタビュー
    2017.10.04
  • WebCampPro_インタビュー
    未経験から上京し、エンジニアとしてチームラボグループに転職!【WebCampPro卒業生インタビュー】
    2018.03.10
  • WebCamp_インタビュー
    「自信の持てるスキルを得たい!」内定辞退した女子大生がプログラミングを学習したワケ。
    2018.04.28

◆当サイトで人気のプログラミング教室のおすすめランキングはこちら!
プログラミングは独学では非効率で、時間を無駄にするリスクがあります。効率的なカリキュラムで学べるスクールを受講しましょう。

Web Camp【マンツーマンサポート】1ヶ月短期集中でプログラミングを学ぶスクール
1ヶ月通い放題・メンター常駐の教室環境でWebサービス等作りたい方
TechAcademyオンラインで開講しているプログラミングスクール
オンラインでどこでも学べる!/教室に行くのが忙しい人でも安心!
Tech Camp教養としてのITスキルを学べるスクール
Webデザイン/AI(人工知能)/IOS/Androidアプリ制作/VRを学びたい方!
WebCampPro転職保証付き!エンジニアとして転職したい人におすすめ!
未経験からプロのエンジニアを3ヶ月で目指すプログラミングスクールです。
11月生募集中!当社人気の転職保証コース
プログラミング学習から転職成功まで導く、当社人気のWebCamp Proコース。
10月生は満員となっております。11月生募集に向け、お早めの申込みをオススメします。
プログラミング未経験でもエンジニア転職を絶対成功させたい
スキルを身に着けて人生を自ら切り開きたい
上記にあてはまる方は、ぜひご検討ください!

はじめに

Rubyは、インストールしてすぐの標準環境でも、いろいろなことが十分にできるクラスやメソッドが準備されています。

そのため、最初は標準環境の範囲内でプログラムを作ることが多いでしょう。

しかし、実現したいプログラムによっては、じつはすでに誰かが作ったことのある処理が活用できるかもしれません。

そんなときに利用したいのが、ライブラリでしょう。

ライブラリというのは、特定の処理を行うクラスやモジュールなどをまとめて、汎用的に使えるように公開されているものです。

このライブラリをRubyの環境に導入すれば、第三者が作ったそれらのクラスやモジュールなどを自分のプログラムで利用できるようになるのです。

今回は、そんなライブラリを導入するのに使うgemについて、詳しくお伝えします。

RubyGemsはライブラリのかたまり

Rubyには、多数のライブラリが提供されており、その多くがgem形式という一定の形式で公開されています。

gem形式というのは、インターネット上にあるRubyGemsという「ライブラリを提供するシステム」で使われるライブラリの形式です。

そして、RubyGemsにあるライブラリはgemと呼ばれており、gemをRuby環境へ取り込むためには、gemコマンドというものを利用します。

gemという単語が頻発して、とてもややこしくなっていますので、いったん言葉を整理しておきましょう。

言葉 説明
RubyGems Rubyのライブラリを管理し、提供するためのシステム
gem形式 RubyGemsへライブラリを登録するときのライブラリの基本形式
gem gem形式になっているライブラリ(RubyGemsに登録されている)
gemコマンド RubyGemsからRubyの環境へgemを導入するためのコマンド

gemコマンドを導入する

gemコマンドを使うことで、複雑で大規模なgemでも、インターネットを使って安全にRuby環境へ導入することができます。

なお、gemコマンドは、バージョン1.9以降であれば、標準環境に搭載されていますが、それより前のバージョンの場合は、インストールする必要があります。

すでに最新のRuby環境のバージョンは2.5になっていますので、ほとんどの人はgemコマンドは標準搭載されているかと思います。

念のため、gemコマンドがインストールされているかどうかを確認しましょう。コマンドプロンプト(ターミナル)で、次のように入力してください。

gem -v

エラーが発生した場合、gemコマンドがインストールされていませんので、インストールが必要です。

手順を簡単に掲載しますので、gemコマンドを導入しましょう。(現在、対象になる人はほとんどいないかと思いますので、簡易的な掲載とさせていただきます)

1.RubyGemsの公式サイトから、zipファイルをダウンロードしてください。

2.ダウンロードしたファイルを解凍してください。

3.解凍したフォルダ(ディレクトリ)へ移動し、以下のコマンドを入力してください。

ruby setup.rb

コマンドプロンプト(ターミナル)上で処理が始まります。

完了したあと、改めて以下のコマンドでgemのバージョンが表示されれば、インストール完了したことを確認できます。

gem -v

なぜ、ライブラリを使うの?

そもそも、なぜライブラリを利用するのでしょうか?

じつは、プログラムでは、必要な処理を自分で作るほうが最適な処理を行える場合が多いです。事実、医療機器や自動車などに組み込まれるプログラムの場合は、その処理速度が極めてシビアになりますので、機器に合わせたプログラムを作ることが多いのです。

しかし、現在のコンピュータの処理能力や通信回線の能力を考慮すると、ほとんどの場合は、プログラム上のわずかな効率の違いは、それほど影響しません。

それよりも、実装するには難易度の高い処理、手間がかかる処理などで、ライブラリを導入するほうが、プログラム開発の効率が上がり、信頼性も上がりますので、得られるものが多いのです。

コツコツ独学×スクールで実践。未経験からエンジニアに転職!【WebCamp卒業生インタビュー】
2018-03-22 23:28
今回の記事では、独学でPHPを1年半学習し、その後WebCampを受講して未経験からエンジニアへと転職された佐々木さんにお話を伺いました。 <プロフィール> 佐々木 祐樹 さん(2...

gemコマンドの使い方

gemコマンドはgemのインストールに使うと説明しましたが、じつはそれだけではなく、gemのアップグレードやアンインストールにも使えます

つまり、gemコマンドは、gemをRuby環境へ導入したり最新版へ更新したりする、gemの管理をするコマンドなのです。

なお、じつは、gemコマンドを使えば、プログラムをgem形式へ変換(ビルド)やgemのアップロード、ダウンロードも行えます。つまり、自分でもgemを作ってRubyGemsへ登録することができるのです。

自分の作ったライブラリを世界の誰かが使ってくれるかもしれないと考えると、とてもワクワクするのではないでしょうか。
(※もちろん、全世界に公開されているRubyGemsへ登録すると、責任を持ってメンテナンスする義務が生まれますので、しっかりと作り込んだ上で公開しなければいけません)

ここでは、そんなgemコマンドの使い方を紹介していきます。

gemのインストール

もっとも多くの人が使うのが、このgemのインストールです。

gemのインストールを行う場合は、以下のコマンドを使います。

gem install <gem名>

例えば、時間計算をより便利にするgemに「activesupport」というgemがあります。このgemをインストールする場合は、以下のように入力することになります。

gem install activesupport

環境にもよりますが、このコマンドを実行すると、以下のように表示されて、activesupportの導入が行われます。

Fetching: concurrent-ruby-1.0.5.gem (100%)
Successfully installed concurrent-ruby-1.0.5
Fetching: i18n-1.1.0.gem (100%)
Successfully installed i18n-1.1.0
Fetching: thread_safe-0.3.6.gem (100%)
Successfully installed thread_safe-0.3.6
Fetching: tzinfo-1.2.5.gem (100%)
Successfully installed tzinfo-1.2.5
Fetching: activesupport-5.2.1.gem (100%)
Successfully installed activesupport-5.2.1
Parsing documentation for concurrent-ruby-1.0.5
Installing ri documentation for concurrent-ruby-1.0.5
Parsing documentation for i18n-1.1.0
Installing ri documentation for i18n-1.1.0
Parsing documentation for thread_safe-0.3.6
Installing ri documentation for thread_safe-0.3.6
Parsing documentation for tzinfo-1.2.5
Installing ri documentation for tzinfo-1.2.5
Parsing documentation for activesupport-5.2.1
Installing ri documentation for activesupport-5.2.1
Done installing documentation for concurrent-ruby, i18n, thread_safe, tzinfo, activesupport after 51 seconds
5 gems installed

activesupportだけをインストールしているのに、5つものgemがインストールされています。
これはなぜかというと、じつはactivesupportが、4つのgemを利用している(依存している)からです。

gemコマンドは、インストールしようとしているgemと依存関係にあるgemも、なければインストールしてくれるようになっています。そのため、5つのgemがインストールされたのです。

また、それ以外にも「ri documentation」と書かれた行もありますが、これはそれぞれのgemのドキュメントファイル(説明書のようなもの)もインストールされたということを表しています。

ただし、ドキュメントファイルのインストールには時間がかかりますし、相応の容量も必要になりますので、gemインストール時に以下のようにオプションを付けることで、ドキュメントファイルなしでインストールすることも可能です。
(なお、ドキュメントファイルはほとんどの場合英語です)

gem install activesupport --no-document

また、特定のバージョンのgemをインストールしたい場合、次のようにオプション指定することが可能です。

gem install <gem名> -v <バージョン>

未経験から上京し、エンジニアとしてチームラボグループに転職!【WebCampPro卒業生インタビュー】
2018-03-10 14:42
今回の記事では、たまたま見たテレビ番組がきっかけでエンジニアに興味を持ち、WebCampProを受講して見事転職を決めた中村さんにインタビューしました。 <プロフィール> 中村 駿...

gemのアンインストール

インストールしたgemをアンインストールしたい場合は、以下のコマンドを使用します。

gem uninstall <gem名>

先ほどインストールしたactivesupportをアンインストールしてみましょう。

gem uninstall activesupport

結果は、先ほどと違って以下のように簡単なものです。

Successfully uninstalled activesupport-5.2.1

このように、アンインストールについては、指定されたgemだけを削除します。

これは、指定されていないgemをアンインストールして良いかどうかの判断ができないからです。

そのため、先ほどactivesupportと同時にインストールされたgemを削除する必要があるのであれば、それぞれのgem名を指定してアンインストールしなければいけません。

なお、もし他のgemに依存されているgemをアンインストールしようとした場合、以下のような確認メッセージが表示されますので、安心してください。

If you remove this gem, these dependencies will not be met.
Continue with Uninstall? [yN]

なお、このメッセージが出ているときに「y」キーを押すと、指定したgemはアンインストールされます。

gemのアップデート

gemはRubyGems上で管理されていますが、その開発者は世界中におり、常にメンテナンスされていますので、いつどんなタイミングでバージョンアップしているか分かりません。
(残念ながら、中にはメンテナンスを放棄されているものもあります)

つまり、定期的に確認して、最新版があればアップデートしてやる必要があるわけです。

そのためのコマンドが、以下です。

gem update <gem名>

このコマンドを実行すると、RubyGemsを確認し、バージョンが新しくなっていればインストールを行います。バージョンに変化がなければ、最新版が導入済みというメッセージを表示して終了します。

なお、gem名を省略した場合、インストール済みのすべてのgemについて、バージョンの確認とインストールを行います。

インストール済みのgemの表示

以下のコマンドを実行することで、すでにインストール済みのgemとそのバージョンの一覧を表示することもできます。

gem list

実行してみると、大量に表示されると思います。じつは、Rubyの標準環境ですでに数多くのgemが導入されているのです。

なお、listのあとにgem名やgem名の一部を追記することで、gem名にその文字列の入ったものだけを表示してくれます。

“未経験”でもたった1ヶ月で営業からエンジニアとして転職!『WebCamp』受講者インタビュー
2017-10-04 10:26
今回の記事では、未経験からWebCampを1ヶ月受講し、その後エンジニアとして転職をした喜田さんにお話を伺いました。 <プロフィール> 喜田 大介 さん (28歳) 大学時代はプ...

まとめ

Rubyのライブラリであるgem、gemが登録されているRubyGems、gemを操作するgemコマンドについて、説明しました。

Rubyは標準環境でも十分に強力で便利なクラスやモジュールが搭載されていますが、gemを使うことによって、より便利で強固なプログラムを短時間で作ることができるようになります。

もし、何か複雑な処理を行わなければいけなくなったときは、1度RubyGemsで検索して最適なgemがないか探してみることをおすすめします。

また、Rubyの中級プログラマになった暁には、ぜひRubyGemsへ自分が作った便利なgemを登録してみてください。世界のどこかのプログラマから感謝されるのは、この上ない喜びになることでしょう。

・gemはRubyGemsというシステムに登録されているライブラリのこと
・ライブラリには他のライブラリを使用している依存関係がある
・gemコマンドで、gemのインストール、アンインストール、アップデート、リストアップなどができる
・gemコマンドは依存関係のあるgemも同時にインストールしてくれる

WebCampOnline プログラミングコースについて

WebCampでは、「どこでも学べる」オンラインコースを開講しています。

初心者・未経験の方でもわずか1ヶ月でプログラミングの基礎を学び、アプリケーション開発をすることができます。

WebCampOnlineが選ばれる3つの理由

1.学習の仕方がわからなくても安心!初心者に寄り添った学習カリキュラム

これから学習を始める初心者の方や、独学で挫折してしまった方に向けて、アプリケーション作成をゴールとする一気通貫したカリキュラムを提供しています。2500名を輩出しているWebCampだからこその教室でのリアルな受講生の声を反映し、オンラインコースでも初心者に寄り添った学習体験をご提供いたします。

2.つまずいたらすぐ解決!プロのエンジニアに質問し放題

プログラミング学習で挫折する理由の多くは「つまずいた時に聞ける人がいない」ことです。オンラインコースでは、現役エンジニアやプロ講師に、すぐにチャットでの質問が可能です。つまずきをすぐに解消できるので、挫折せずに学習を継続することができます

3.1ヶ月間で終わらなくても大丈夫!カリキュラムは"卒業後"も"無料"で利用可能

受講したいけど、仕事が急に忙しくなるかもしれないから受講するか迷っている・・・そんな方も多いのではないでしょうか?ご安心ください。カリキュラムは期間終了後も「無料」で使うことができます。また、しっかり学習時間を確保した方も、振り返って学習することでプログラミングスキルがご自身に馴染んできます。

▼まずは無料でWebデザインのカリキュラムを体験しよう!

【インタビュー】1ヶ月でRubyをゼロから学び、Webエンジニアとして転職!

ブラジルから帰国し技術をつけようとRubyエンジニアを目指してWebCampでRubyを学び、見事Webエンジニアとして転職を果たした田中さんにお話を伺いました。

Rubyの学習がしたい。基礎をしっかりと理解したい

転職のサポートがほしい

と考えている方はぜひお読み下さい。

【WebCamp卒業生インタビュー】1ヶ月でRubyをゼロから学び、Webエンジニアとして転職!
2018-01-15 13:23
今回の記事では、WebCampで1ヶ月間Rubyを学習し、Webエンジニアとして転職した卒業生の田中さんにお話を伺いました。 <プロフィール> 田中 デニス 昭彦さん(...
関連キーワード
Rubyの関連記事
  • 【Ruby入門説明書】rescueについて解説
  • 【Ruby入門説明書】jsonについて解説
  • 【Ruby入門説明書】csvについて解説
  • 【Ruby入門説明書】mapについて解説
  • 【Ruby入門説明書】gemsについて解説
  • 【Ruby入門説明書】ruby sliceについて解説
おすすめの記事