Deep Insider の Tutor コーナー
>>  Deep Insider は本サイトからスピンオフした姉妹サイトです。よろしく! 
Ruby TIPS

Ruby TIPS

Rubyをインストール/アップデートするには?(Windows編)

2016年1月22日

Windows上でのRubyプログラミングを始める入門者向けに、Ruby環境の構築方法、複数バージョンのインストール方法、バージョンのアップデート方法を説明する。

デジタルアドバンテージ 一色 政彦
  • このエントリーをはてなブックマークに追加

 「TIPS:Rubyとは? ― オブジェクト指向のスクリプト言語」では、Rubyの概要と特徴を簡単に紹介した。この続編として、実際にRubyプログラミングに取り組もうという人に向け、本TIPSではRuby環境のインストール方法を紹介する。

 今回はWindows OSにRuby環境をインストールする手順を説明する。MacのOS XやLinux向けのインストール方法については後日、別のTIPSであらためて説明する予定だ。

Windows向けのRuby環境について

 Ruby処理系の1つであるMRI(Matz's Ruby Interpreter、CRuby)のWindows向けインストーラーとしては、下記の3つが挙げられる。

 この中で最も広く使われているのがRubyInstallerだろう。本稿ではこれを使ったインストール方法を紹介する。

 なお、これらのインストーラーが必ずしもRubyの最新バージョンに対応しているとは限らないので注意してほしい。最新バージョンがどうしても欲しい場合は、ソースコード開発版安定版のスナップショットをダウンロードすることも可能)からビルドする必要がある。ただし、これを行うのはプログラミングの初心者には容易ではないため、まずは上記のようなインストーラーの最新版を使うことをお勧めする。

 ちなみにRuby安定版の最新バージョンに関する情報は、公式サイトの「最近のニュース」RSS)を確認するとよい。

Ruby環境の構築(RubyInstaller使用)

 それではまずはRubyInstaller公式サイトからインストーラーをダウンロードしよう。

インストーラーのダウンロード

 これには、下記のリンク先の[RubyInstallers]欄から、使いたいバージョン(本稿の例では「Ruby 2.2.3 (x64)」)をクリックすればよい。図1を見ると分かるように、32bit版(何も書かれていない方)と64bit版(「x64」と記載されている方)が提供されている。最近のPCであれば64bit Windowsを使っていることが多いだろう。であれば64bit版をインストールすればよい。

図1 RubyInstallerのダウンロード ― RubyInstaller公式サイトのDownloadsページ

 なおプログラミング内容によっては、64bit環境のみでエラーが発生するといった理由で32bit環境が必要になるケースがある(例えばWin32 COMオブジェクトからExcelを操作したい場合や、使いたいライブラリが従来の32bit向けのみの提供になっている場合など)。そういった場合には、インストール先のフォルダーを変えることで、異なるバージョンのRubyをインストールすることも可能なので、そのようにして64bit版と32bit版の両方をインストールすればよい(詳しくは後述の「複数のRubyバージョンのインストール」の項を参照)。

インストーラーによるRuby環境のセットアップ

 ダウンロードしたインストーラー(本稿の例では「rubyinstaller-2.2.3-x64.exe」ファイル)を実行すると、インストールウィザードが起動するので、図2の流れに沿ってセットアップを実行する。

[OK]ボタンをクリック

[OK]ボタンをクリック

同意できる場合は[同意する]にチェックを入れて[次へ]ボタンをクリック

[同意する]にチェックを入れて[次へ]ボタンをクリック

[インストール]ボタンをクリック

フォルダー名はデフォルトのまま(=バージョン情報を含むフォルダー名で、この例では「C:\Ruby22-x64」)がお勧め。3つのオプションのうち、[Ruby の実行ファイルへ環境変数 PATH を設定する]と[.rb と .rbw ファイルを Ruby に関連づける]にチェックを入れて(各オプションの意味は後述の本文を参照)、[インストール]ボタンをクリック

インストールが実行され完了する

インストールが実行され完了すると、このような表示になり、インストールされた詳細なバージョン名(この例では「Ruby 2.2.3-p173-x64」)も確認できる

図2 RubyInstallerのインストールウィザードによるRuby環境のセットアップ手順

 インストール時の3つのオプションの意味は以下のとおり。

  • [Td/Tk サポートをインストールする]オプション: Tcl/Tk GUIツールキットを合わせてインストールする場合にチェックする。GUIアプリを作る可能性がなければ、チェックしなくてよい。
  • [Ruby の実行ファイルへ環境変数 PATH を設定する]オプション: Windowsシステムにおける環境変数[PATH]にRubyインストール先フォルダーを追加する(=これを「パスを通す」と言う)。これにより、ruby.exeファイルのフルパスを指定しなくても、rubyという記述だけで簡単にruby.exe(=Rubyインタプリター)を実行できるようになる。なお他のバージョンのRubyをインストール済みの場合は、そのバージョンのフォルダーが[PATH]に追加されている可能性があるので、競合による問題を防ぐために、インストール後に古い方のフォルダーパスを削除する必要がある(その方法は後述の「手動による環境変数[PATH]の調整」の項を参照)。
  • [.rb と .rbw ファイルを Ruby に関連づける]オプション: 拡張子が「.rb」(=コンソールで動く、通常のRubyスクリプト)/「.rbw」(=Windowsで動く、GUIを持つRubyスクリプト)のファイルをRuby(ruby.exe/rubyw.exe)と関連付ける。ファイルのダブルクリックでRubyスクリプトを実行できるようになったりするので、基本的にはチェックを入れた方が便利だ。なお他のバージョンのRubyをインストール済みの場合は、既存の関連付けを上書きするかどうかを考慮する必要がある。
Rubyの実行

 インストールが完了したら、rubyコマンドが通常のPowerShellやコマンドプロンプトで実行できるかを確認してみよう(以下の解説ではWindows 10を使用している)。PowerShellを起動するには、WindowsXキーを押してデスクトップ画面の左下に[高度なコンテキストメニュー]を表示し、その中の[Windows PowerShell]メニュー項目へのアクセスキーであるIキーを続けて押せばよい(図3。もちろんキーではなくマウスでメニュー項目をクリックしてもよい。またWindowsキーがないキーボードの場合は[スタート]メニューの[すべてのアプリ]-[Windows PowerShell]内から実行する)。管理者権限が必要な場合は、Iの代わりにAアクセスキーを押して[Windows PowerShell (管理者)]を実行すればよい。ちなみにPowerShellとコマンドプロンプトのどちらを使うかだが、ショートカットキーからアクセスしやすいのと、Linux風のコマンドが使えるなどの機能を持つ、PowerShellの方がお勧めだ。本TipsではPowerShellを用いる。

[Windows]+[X]、[I]キーを押す(管理者モードの場合は、[Windows]+[X]、[A]キーを押す)

[Windows]+[X]、[I]キーを押す(管理者モードの場合は、[Windows]+[X]、[A]キーを押す)

図3 PowerShellの起動
図3 PowerShellの起動

 PowerShellが起動したら、ruby -vというコマンドラインを入力してEnterキーで実行してみよう。-vコマンドラインオプションは、それ単体で指定された場合は、Rubyのバージョンを表示した後、Rubyスクリプトは実行せずに、そのまま実行が終了する。

コンソール
> ruby -v
ruby 2.2.3p173 (2015-08-18 revision 51636) [x64-mingw32]
リスト1 Rubyバージョンの表示

 その結果、リスト1のように表示され、バージョン情報が先ほどインストールしたもの(=「Ruby 2.2.3-p173-x64」)と合致することが確認できるだろう。もしrubyコマンドが実行できない場合は、前述の環境変数が正しくセットされていない可能性が高い。またバージョン情報が異なる場合は、複数のRuby環境がインストールされて競合している可能性があるので、後述の「手動による環境変数[PATH]の調整」の項を参考に環境変数を手動で修正する必要がある。

DevKitのインストール

 以上でRubyが動くようになったので「完了」と言いたいところだが、ここでDevelopment Kit(以下、DevKit)もインストールすることをお勧めする。というのも、Rubyのパッケージ管理システム「RubyGems」(=バージョン1.9以降ではRubyに同梱)で公開されているライブラリパッケージ(=Rubyでは“gem”と呼ばれる)を導入する際に、Windows上の場合、DevKitが必要になることがあるためだ*1。よくあることなので、最初からインストールしておけば、つまずくこともなくなる。

  • *1 C/C++言語で書かれたgemでは、インストール時にソースからビルドを行うことがある。DevKitは、そのビルド環境を手軽に整えるための開発用ツールキットである。

 このDevKitは、先ほどまで説明したRubyInstallerにより公開されている。

 上記のリンク先の[Other Useful Downloads]-[DEVELOPMENT KIT]欄(図4)から、適切なバージョンを選択してダウンロードすればよい。本稿の例では、Ruby 2.0以上の64bit版を使っているので「DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe」をダウンロードした。

図4 DevKitのダウンロード ― RubyInstaller公式サイトのDownloadsページ
図4 DevKitのダウンロード ― RubyInstaller公式サイトのDownloadsページ
  • 1 Ruby 1.8.7/1.9.3向けのDevKit
  • 2 Ruby 2.0以上(32bit)向けのDevKit
  • 3 Ruby 2.0以上(64bit)向けのDevKit

 ダウンロードした.exeファイルを実行すると、7-Zipアーカイブファイルの展開先(以下、DevKitフォルダー)を指定するためのダイアログが表示される。ここで指定するフォルダーパスは任意となるが、異なる複数のバージョンを並列で実行できるようにするために、以下のようなフォルダーパスを展開先として指定することをお勧めする。本稿では、Ruby 2.2.3(64bit)をインストールしているので、図5のように指定した。

  • Ruby 1.8.7/Ruby 1.9.3向けのDevKit: C:\RubyDevKit1X\
  • Ruby 2.0以上(32bit)向けのDevKit: C:\RubyDevKit2X\
  • Ruby 2.0以上(64bit)向けのDevKit: C:\RubyDevKit2X-x64\
展開先のフォルダーパスを指定して[Extract]ボタンをクリックすると展開が実行され、完了するとダイアログがそのまま閉じられる

展開先のフォルダーパスを指定して[Extract]ボタンをクリックすると展開が実行され、完了するとダイアログがそのまま閉じられる

展開先のフォルダー内はこのようになる(Windowsエクスプローラー)

展開先のフォルダー内はこのようになる(Windowsエクスプローラー)

図5 DevKitフォルダーの展開手順(圧縮ファイルの展開)

 展開したDevKitをインストールするには、インストール用スクリプトを実行する必要がある。具体的にはPowerShellを管理者モードで起動して、リスト2の要領で、DevKitフォルダーにディレクトリ移動(=cdコマンド)した後、initオプションを付けてインストール用Rubyスクリプト「dk.rb」を実行すればよい。

コンソール
> cd C:\RubyDevKit2X-x64\
> ruby dk.rb init
[INFO] found RubyInstaller v2.1.7 at C:/Ruby21
[INFO] found RubyInstaller v2.2.3 at C:/Ruby22-x64

Initialization complete! Please review and modify the auto-generated
'config.yml' file to ensure it contains the root directories to all
of the installed Rubies you want enhanced by the DevKit.
リスト2 DevKitインストール用Rubyスクリプトによるインストール設定の初期化(init)

筆者の環境では、過去にRuby 2.1.7(32bit)をRubyInstallerでインストールしていたので、その情報も表示さていることに注意されたい。

 リスト2では、「初期化完了(Initialization complete!)」というメッセージとともに、「config.ymlファイルが自動生成されているので、全てのRuby環境のルートディレクトリが正しいか確認、修正してください」と出力されている。その上に[INFO]が2行あり、これまでにRubyInstallerでインストールしたRuby環境のフォルダーパスが列挙されることが分かる。

 この例ではv2.1.7の方は、筆者が過去にインストールした32bit版のRubyであるので、今回の64bit版DevKitの対象には含めたくない。そのため、config.ymlファイルを手動で修正する必要がある。Visual Studio Codeなどのテキストエディターでこのファイルを開くと、リスト3のようになっており、先ほど列挙されたフォルダーパスが箇条書きで記載されている。この中から、DevKitの対象外として該当行(この例では- C:/Ruby21)を削除して、ファイルを保存しよう。

YAML
# This configuration file contains the absolute path locations of all
# installed Rubies to be enhanced to work with the DevKit. This config
# file is generated by the 'ruby dk.rb init' step and may be modified
# before running the 'ruby dk.rb install' step. To include any installed
# Rubies that were not automagically discovered, simply add a line below
# the triple hyphens with the absolute path to the Ruby root directory.
#
# Example:
#
# ---
# - C:/ruby19trunk
# - C:/ruby192dev
#
---
- C:/Ruby21
- C:/Ruby22-x64
リスト3 Rubyバージョンの表示

 次に、リスト4のようにして今度はreviewオプション付きで「dk.rb」を実行すると、DevKitの対象フォルダーパスが正常に設定できているかを確認できる。

コンソール
> ruby dk.rb review
Based upon the settings in the 'config.yml' file generated
from running 'ruby dk.rb init' and any of your customizations,
DevKit functionality will be injected into the following Rubies
when you run 'ruby dk.rb install'.

C:/Ruby22-x64
リスト4 DevKitインストール用Rubyスクリプトによるインストール設定の確認(review)

 最後に、installオプション付きで「dk.rb」を実行する(リスト5)。

コンソール
> ruby dk.rb install
[INFO] Updating convenience notice gem override for 'C:/Ruby22-x64'
[INFO] Installing 'C:/Ruby22-x64/lib/ruby/site_ruby/devkit.rb'
リスト5 DevKitインストール用Rubyスクリプトによるインストール(install)

 以上でDevKitのインストールは完了だ。

 なお、インストール後はDevKitフォルダーの名前やパスを変更できないので注意してほしい。変更したい場合は、DevKitのインストールをやり直す必要がある。

RubyGemsのアップデート

 Ruby環境の構築は基本的に以上で完了だが、最後の最後にRubyGemsを最新環境にアップデートしておけば完璧である。RubyGemsやそのアップデート方法については別のTIPSで紹介する予定だが、ここではgem update --systemというコマンドラインを実行しておけばよい。

複数のRubyバージョンのインストール(RubyInstaller使用)

 RubyInstallerを使って、別バージョンのRubyをインストールするのは難しくない。前掲の図2のようにデフォルトのフォルダーパスのままインストールを行うだけだ。注意点は、[Ruby の実行ファイルへ環境変数 PATH を設定する]オプションにより環境変数[PATH]に新しいRuby環境へのパスが追加されて既存のRuby環境へのパスと競合するので、それらを調整する必要があることと(調整手順は後述)、前述したことの繰り返しになるが[.rb と .rbw ファイルを Ruby に関連づける]オプションにより拡張性の関連付けの設定が上書きされるので関連付けをするかどうかを考慮しなければならないということだ。

手動による環境変数[PATH]の調整

 WindowsXYキーを押して[高度なコンテキストメニュー]の[システム]を実行する。これによりコントロールパネルの[システムとセキュリティ]-[システム]ウィンドウが起動するので、左ペインから[システムの詳細設定]リンクをクリックする。表示された[システムのプロパティ]ダイアログの[詳細設定]タブを開き、[環境変数]ボタンをクリックすることで、図11の[環境変数]ダイアログが表示される。

図11 ユーザー環境変数[PATH]から、使わない方のRuby環境のフォルダーパスを削除
図11 ユーザー環境変数[PATH]から、使わない方のRuby環境のフォルダーパスを削除

 RubyInstallerによるセットアップでは、システム環境変数ではなく、ユーザー環境変数として[PATH]が設定されている。その該当行を選択して[編集]ボタンをクリックする。これにより図11のように[環境変数名の編集]ダイアログが表示されるので、使わない方の「Ruby環境へのフォルダーパス」を[削除]すればよい。

Rubyバージョンのアップデート(RubyInstaller使用)

 RubyInstallerを使ってインストールしたRuby環境のアップデートは、RubyInstallerを単に再インストールすることによって実現する。

 Rubyのバージョン番号の命名形式は、

<MAJOR番号>.<MINOR番号>.<TEENY番号>

となっている。機能が追加される通常のバージョンアップでは<MAJOR番号>.<MINOR番号>部分の数字が変わり、これらの数字がRubyInstallerによるインストール時のデフォルトフォルダー名としても使われている(例えばバージョン2.2.3のフォルダー名はRuby22となり、64bitの場合はさらに「-x64」が付与されてRuby22-x64となる)。TEENY番号は、バグ修正やセキュリティパッチなどのパッチリリースでカウントアップされていく。

 よって通常のバージョンアップ、つまり<MAJOR番号>.<MINOR番号>が新しくなった状態でアップデートを行うには、念のため既存のRuby環境を残したまま、別のフォルダーに新たにインストールすることになる。この場合、通常どおりにRubyInstallerによる新Ruby環境のセットアップを行えばよい。旧バージョンのRubyで作成した既存のRubyスクリプトなどが問題なく動作し、旧バージョン環境を削除しても問題ないことが確認できれば、通常のWindowsアプリケーションと同様にコントロールパネルの[プログラムのアンインストール]から、その旧バージョンをアンインストールすればよい(この作業は難しくないので説明を割愛する)。

 一方のパッチリリース、つまり同じバージョン番号のままだがTEEN番号が新しくなった状態でRuby環境をアップデートしたい場合は、同じくRubyInstallerによるセットアップを通常どおりに実行し、そのままフォルダーを上書きするようにしてインストールするだけだ。

 つまりWindowsでは、RubyInstallerを使って本稿の「Ruby環境の構築」の手順どおりにインストールし続けるだけで、Rubyの最新環境にアップデートし続けられるというわけである。

 以上、Windows向けにRubyをインストール/アップデートする方法を説明した。RubyInstaller自体の更新状況は自動的に通知されないので、最新版リリースの情報を自ら収集する必要がある。一番手軽なのは、RubyInstallerのRSSフィードを講読することだ。より詳しい最新情報を取得したい場合は、RubyInstallerのGoogleグループに参加して更新情報のメール通知を設定するとよい。

処理対象:インストール|アップデート カテゴリ:基本

※以下では、本稿の前後を合わせて5回分(第1回~第5回)のみ表示しています。
 連載の全タイトルを参照するには、[この記事の連載 INDEX]を参照してください。

Ruby TIPS
1. Rubyとは? ― オブジェクト指向のスクリプト言語

Rubyとは何か。入門者向けに、その概要と特徴を紹介し、基本的な文法を使った簡単なコード例を示す。

Ruby TIPS
2. 文の途中で改行する/if文も値を返す ― コーディングミスを防ぐには?(1)

Rubyプログラミングでミスしやすい意外な落とし穴を紹介。「式の取り扱い」に関して、改行で陥りやすいワナやif文などの制御構造が返す値を取り上げる。

Ruby TIPS
3. 関数で複数の返り値を返す/関数の引数は値渡し ― コーディングミスを防ぐには?(2)

Rubyプログラミングでミスしやすい意外な落とし穴を紹介。関数を使って複数の値を返す方法と、引数による値の受け渡しに関するポイントを説明する。値渡しの関連として、非破壊的な変更と破壊的な変更についても取り上げる。

Ruby TIPS
4. 【現在、表示中】≫ Rubyをインストール/アップデートするには?(Windows編)

Windows上でのRubyプログラミングを始める入門者向けに、Ruby環境の構築方法、複数バージョンのインストール方法、バージョンのアップデート方法を説明する。

Ruby TIPS
5. 代入により決まる変数のデータ型/丸め誤差が発生する浮動小数点数の比較― コーディングミスを防ぐには?(3)

初心者向けにRubyプログラミングの落とし穴を紹介。代入する値により変数のデータ型が決まることに関する注意点と、浮動小数点数の比較における丸め誤差の問題と回避方法について説明する。

サイトからのお知らせ

Twitterでつぶやこう!