Ruby/Rails/gem/bundlerとは?各種インストール方法を解説


Rubyはどこからダウンロードするの?
gemは何をするものなのかいまいちわからない…
bundlerをインストールするって言われたけど何で?
Ruby on Railsってそもそも何?

「Rubyを使いこなしてWebアプリを開発するぞ!」と意気揚々と始めようとしたものの、このような理由でつまづいていないでしょうか。

この記事では、上のような疑問に答えながら、以下の操作手順を説明しています。

  • ruby/gem/bundler/railsとは
  • <WindowsにRubyをインストールする方法/li>
  • パッケージ管理ツール「bundler」をインストールする方法
  • bundlerを使ってRuby on Railsをインストールする方法

それでは、始めましょう。

ruby/gem/bundler/railsとは

Rubyとは

Rubyは、読みやすさを重視したプログラミング言語です。

回数を指定して処理を繰り返す場合に、以下のように記述できることが面白い点です。

3.times { puts 'foobar' }

このコードは、初見でも、3回「puts 'foobar'」を実行するというように読める気がしますね。

Rubyについては、以下の記事で詳しく説明していますので、ぜひご覧ください。

Rubyとは?初心者が学びやすい言語の特徴から始め方まで徹底解説!
更新日 : 2020年7月21日

gemとは

実はRubyで「gem」と言ったときには、以下の2つの意味のどちらを指しているのか考える必要があります。

1つ目の「gem」は、他の開発者が作成しているパッケージ(プログラムの部品のこと。ライブラリとも)を指す言葉です(以降、gem)。

もう1つの「gem」は、Rubyのパッケージ管理ツールを指す言葉です(以降、パッケージ管理ツール「gem」)。

2つのgemの意味を、少し詳しく説明しましょう。

gem

gemは、他の開発者が作成しているパッケージ(プログラムの部品のこと。ライブラリとも)です。

他の開発者が作成しているgemを理解し、活用することで、自分で実装すると時間がかかる機能も簡単に実現できます。たとえば、(そもそも、Ruby on Railsもgemの一つですが)Ruby on Railsを使ってWebアプリを開発していたとします。

登録機能や認証機能が必要になったとして、それらを自分で実装すると、どれくらいの時間がかかるのか、想像したくありませんね。このユーザー登録機能や認証機能を簡単に実現できるdeviseというgemが公開されていて、誰でも自由に利用できます。

つまり、deviseを利用するだけで、簡単にユーザー登録機能や認証機能を実装できるのです。

deviseの使い方は以下の記事で説明していますので、参考にしてください。

rails devise完全入門!結局deviseって何ができるの?
更新日 : 2017年4月18日

Rubyには、deviseに限らず他の開発者が作成しているgemがたくさんあります。

gemを使いこなしていくことも、Rubyではとても大切なスキルと考えられています。

パッケージ管理ツール「gem」

パッケージ管理ツール「gem」は、gemをインストールしたり、アンインストールしたりするときに使うツールです。

ちなみに、2009年頃に「bundler」というパッケージ管理ツールが登場し、その後使いやすくなってからは、パッケージ管理ツール「gem」を直接扱う機会は減ってきています。

bundlerとは

bundlerは、他の開発者が作成しているgemを管理するためのツールです。

複数のgemの依存関係を記述できるため、依存関係が崩れて正常に動作しないといったトラブルを未然に防げます。たとえば、AとBの2つのgemがあり、Aのバージョン2を使うにはBのバージョン1が必要といったケースで、bundlerが活躍します。

このとき、AはBに依存している(AとBは依存関係がある)と言います。

あるとき、Bのバージョン2が公開され、誤ってそれをインストールしてしまったとします。

Aのバージョン2を使うにはBのバージョン1が必要だったのに、Bのバージョン2をインストールしてしまったため、おそらくAが正常に動作しなくなるトラブルが発生するでしょう。

このような状況を、依存関係が崩れてAが正常に動作しないと言います。

いかがでしょうか、依存関係があるgemを正しく管理するのは、非常に難しそうと感じませんか?そこで登場したのが、パッケージ管理ツール「bundler」です。

bundlerを使い、依存関係を正しく記述することで、複数のgemを依存関係を考慮してインストールできます。

このような大きなメリットがあるため、通常の開発プロジェクトでは、gemを管理するために、(パッケージ管理ツール「gem」ではなく)「bundler」がよく使用されています。

Ruby on Railsとは

Ruby on Railsは、Webアプリを開発する際に使用するフレームワーク(枠組み)です。

フレームワークをWebアプリの土台として開発を進めると、様々な機能がスムーズに実現できます。

特に海外では、Ruby on Railsを利用したWebアプリの開発事例が多く、開発者はRuby on Railsを使用するためにRubyを学んでいるとも言える状況です。

Ruby on Railsについて詳しくは、以下の記事を参照してください。

Ruby on Railsとは?できることからサービス例まで網羅的に解説
更新日 : 2020年7月24日

インストール方法

WindowsにRubyをインストールする

ここでは、RubyInstaller for Windowsを利用して、Windows 10(64bit版)にRubyをインストールする手順を説明します。

(1)RubyInstallersのダウンロードページにアクセスして、「Ruby+Devkit 2.5.1-2 (x64)」をクリックします。


rubyinstaller-devkit-2.5.1-2-x64.exeがダウンロードされます。

(2)rubyinstaller-devkit-2.5.1-2-x64.exeをダブルクリックします。

インストーラーが起動します。

(3)ライセンスを読み、「I accept the License」を選択して、「Next」をクリックします。

(4)設定を確認し、「Install」をクリックします。

この後、uruをインストールする場合は、「Add Ruby executables to your PATH」のチェックを外します。

(4)「Next」をクリックします。

インストールが始まります。

(5)「Run ‘rdisk install’ to setup MSYS2 (省略)」のチェックが付いていることを確認し、「Finish」をクリックします。

DevKit(MSYS2 toolchain)のインストーラが起動します。

(6)Enterキーを押します。

(7)もう一度、「If unsure press ENTER」と表示されたらEnterキーを押します。

以上で、RubyとDevKitのインストールが終了しました。

DevKit(Development Kit)とは

上で紹介した手順ではDevKitもインストールしました。DevKitは、Windows版のRubyで、一部のgemをインストールする際に必要なツールです。

他の人が作ったgemを絶対に使わない!という方は、DevKitなし(WITHOUT DEVKIT)のRubyinstallerをダウンロードすると良いでしょう。

uruとは

通常は、一台のパソコンには、一つのバージョンのRubyしかインストールできません。個人的な開発だけなら、好きなバージョンを使い続ければ良いでしょう。

しかし、仕事などでRubyのバージョンに制約がある場合は、好きなバージョンというわけにはいきません。

ある仕事ではRuby 2.4.4、また別の仕事ではRuby 2.5.1というように、Rubyのバージョンが異なる場合があります。

このような場合に便利なツールがuruです。uruを使うと、パソコンにインストール済みのRubyを簡単に切り替えられます。

あらかじめ、Ruby 2.4.4、Ruby 2.5.1、uruをインストールしておけば、さっきまではRuby 2.5.1を使って開発していたけど、今からはRuby 2.4.4を使う、といったことが簡単に実現できます。

ちなみに、MacやLinuxでは、rbenvというツールが人気です。Rubyのバージョンを切り替える方法(指定したRubyのバージョンを有効にする方法)については、以下の記事でまとめられていますので、あわせてご覧ください。


MacでRubyをインストールする方法をわかりやすく解説【初心者必見】
更新日 : 2020年7月20日

パッケージ管理ツール「bundler」をインストールする

現在有効になっているRubyに、パッケージ管理ツール「bundler」をインストールしましょう。

(1)コマンドプロンプトを起動します。

(2)以下のコマンドを入力します。

gem install bundler

uruを使っている場合は、Rubyを切り替えて、すべてのRubyにbundlerをインストールしておきましょう。

bundlerの使い方については、以下の記事でまとめられていますので、ぜひご覧ください。

【Ruby入門】今更聞けない!Ruby bundlerとは
更新日 : 2019年1月11日

Ruby on Railsをインストールする

Ruby on Railsもgemの一つで、世界中のエンジニアが開発に携わっています。

参考:GitHub – rails/rails: Ruby on Rails

Ruby on Railsを、bundlerを使ってインストールしてみましょう。

ここでは、D:Ruby on RailssampleフォルダでWebアプリを開発する場合のRuby on Railsのインストール手順を説明しています。

(1)コマンドプロンプトを起動して、以下のコマンドを1行ずつ順番に入力します。

D:
mkdir "Ruby on Railssample"
cd "Ruby on Railssample"
bundle init

Gemfileが作成されます。

(2)Gemfileを編集します。

変更前:

# frozen_string_literal: true

source "https://rubygems.org"

git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }

# gem "rails"

変更後:

# frozen_string_literal: true

source "https://rubygems.org"

git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }

gem "rails", "~> 5.1.0"

このように書くことで、Ruby on Railsのメジャーバージョンを5に限定して、マイナーバージョンアップは許可したことになります。

たとえば、バージョン5.2が公開されればバージョンアップされますが、バージョン6が公開されてもバージョンアップされません。

(3)コマンドプロンプトで以下のコマンドを入力します。

bundle install --path vendor/bundler

「D:Ruby on Railssample」フォルダに、Ruby on Railsがインストールされます。

この後、「bundle exec rails new .」を実行してWebアプリのひな形を作成し、開発を始めることになりますが、それはまた別のお話です。

Ruby on Railsでよく使われるgemを紹介!

パッケージ管理ツール「gem」や「bundler」でインストールできるgemは、RubyGems.orgからダウンロードできます。

このRubyGems.orgにブラウザでアクセスすると、gemを検索できます。

gemを探す方法

gemの名前が分かっていたり、人気があるgemが分かっていれば、このサイトが便利です。

例えば、deviseと検索してみると、以下のようにdeviseもしくはdeviseに関連したgemが表示されます。

gemの検索結果

ダウンロード数が表示されていますが、実は多い順に並んでいないため、人気のgemが下の方に隠れているかもしれません。

そこで、おすすめしたいのが、BestGems.orgです。


同じように「devise」で検索してみると、このサイトではダウンロード数が多い順に表示されています。

このようなサイトを利用すれば、必要な機能を示すキーワードで検索して目的のgemを見つけたり、既存のgemの名前で検索して関連したgemを見つけたりできます。

たとえば、「bootstrap」で検索するとbootstrap-sassが見つかったり、「react」で検索するとreact-railsが見つかったりします。

うまく活用していきたいサイトですね!

なお、侍エンジニア塾ブログには、Ruby on Railsでよく使われるgemを紹介した記事がありますので、ぜひご覧ください!


rails devise完全入門!結局deviseって何ができるの?
更新日 : 2017年4月18日

まとめ

この記事では、Windows 10にRuby、bundler、Ruby on Railsをインストールする方法を説明しました。

また、便利なgemを探すサイトも紹介しましたので、うまいキーワードで検索して、開発スピードを上げていけるといいですね!

どの内容も、RubyやRuby on Railsで開発を進めるうえで必要な最低限の知識ですので、しっかり理解しておきましょう。

LINEで送る
Pocket

「プログラミング、右も左もわからない…」という方にオススメ

当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

書いた人

侍テック編集部

侍テック編集部