更新情報

みなさん、こんにちは。

前回のコラムでは、Windows環境でRailsを動かすことの苦労や思い出、現状などをお話いたしました。これがLinux環境なら、もっと楽にできるのではないか・・・などと思うこともしばしばありました。とはいっても、少し前までは、Windows上にLinux環境を同居させるとなりますと、VirtualBoxやVMwareなどの仮想マシン上にUbuntuやCentOSをインストールして・・・となってしまい、動作に必要なメモリや仮想HDDの容量などもそれなりに必要となるため、なかなか敷居の高い部分もあったのは事実です。最近では、Dockerなどのいわゆるコンテナ型といわれる軽量な仮想環境も登場してきていますが、お手軽性という意味ではまだやや敷居が高い印象があります(私がよく知らないだけと言われればそれまでなのですが・・・)。

そこで・・・というわけではないのかもしれませんが、Windows10では、2016年のアップデート(Anniversary Update)から「Bash on Ubuntu on Windows」というWindows環境とほぼシームレスに統合したLinux環境が提供開始されました。このことを筆者が最初に知った時に真っ先に思い浮かんだのが「これでWindowsでもLinuxのRails環境が簡単に使える!」ということでした。さらに、2017年のアップデート(Creators Update)からは、この環境がWindowsストアから直接インストールできるようになりました。ということで、今回はこの「Bash on Ubuntu on Windows」を利用して、「Ruby on Rails5 on Bash on Ubuntu on Windows」(長い!)が動くのかどうかを、試してみたいと思います。

◆Bash on Ubuntu on Windows

まずは、「Bash on Ubuntu on Windows」(以下、Ubuntuと表記)をインストールするところから行ってみましょう。

Creators Update以降は、Windowsストアから簡単インストール・・・のはずなのですが、実はWindowsストアからUbuntuをインストールするためには、いくつかの準備が必要になっています。主には、以下のような手順となります。

①設定画面の「更新とセキュリティ」→「開発者向け」で、「開発者モード」を有効化にする
②設定画面の「プログラムと機能」→「Windowsの機能の有効化または無効化」で、「Windows Subsystem for Linux」を有効にする
③Windows Insider Programに登録し、Windows Insiderビルドを適用(インストール)する

上記のうち①②は、Windowsの設定メニューでできてしまうので、割と簡単なのですが、問題は③です。③を達成するには、まずMicrosoftアカウントを取得していて、そのアカウントをWindows Insider Programに登録する必要があります。さらに、Windows Insiderビルド(言葉の響きはカッコいいですが、いわゆる開発者向けの早期提供版、ベータ版的なものです)をインストールしなければいけないため、正式版ではないことによる不具合がもし何かあったとしても、その対応がやや面倒になる可能性があります。安定性が求められるような環境にはWindows Insiderビルドはやや入れにくいかもしれません。

もし、③の適用を迷ってしまう場合は、Windowsストア経由ではなく、コマンドベースでのインストールも可能なので、そちらを試していただいたほうがいいかもしれません。

コマンドベースでのインストール手順については、以下サイト等を参考にしてみてください。

Bash on Ubuntu on Windowsをインストールしてみよう!(Qiita)
http://qiita.com/Aruneko/items/c79810b0b015bebf30bb

◆Rubyのインストール

では、インストールされたUbuntu上にRubyとRails5をインストールしてみましょう。正直、ここから先の手順はUbuntu向けのRuby/Railsインストール手順がほとんどそのまま適用できるのですが笑、一応、本当にそのままできるのか、本コラムとしても検証してみたいと思います。

それではインストール済みのUbuntuを起動してみましょう。Windowsストアからインストールした場合は「Ubuntu」というメニューがスタートメニューにありますので、そこから起動します。

スタートメニューから「Ubuntu」を選択すると、Ubuntu環境のbash(コマンドラインシェル)が起動する

ここでは、rbenvという複数バージョンのRubyをインストールして切り替えることのできる便利なツールを利用して、Rubyをインストールしてみようと思います。

先に、このあとRubyのインストール(ビルド)やRailsに必要なgemのビルドに必要となるUbuntuパッケージをインストールしておきます。以下の手順を実行してください。

sudo apt-get update
sudo apt-get -y install g++ make zlib1g-dev libsqlite3-dev nodejs install libssl-dev libreadline-dev

続いて、rbenvのインストール、セッティングを行います。次のコマンドを順に実行してください。

git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
echo ‘export PATH=”$HOME/.rbenv/bin:$PATH”‘ >> ~/.bashrc
echo ‘eval “$(rbenv init -)”‘ >> ~/.bashrc
source ~/.bashrc

ここまでが実行できましたら、rbenvコマンドが動作することを確認します。次のコマンドを実行してみてください。

rbenv –version

次のような表示となればインストールは成功しています。
(rbenvのバージョンを表示させた様子)

次に、Rubyをビルドするためのrbenvのプラグインをインストールします。次のコマンドを実行してください。

git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

上記ができましたら、いよいよRubyをインストール(ダウンロードとビルド)します。次のコマンドを入力してください。今回は、Ruby 2.4.1をインストールしてみます。

rbenv install 2.4.1
(rbenvでRuby 2.4.1をインストールしている様子)

ビルドを伴うため、インストールには多少の時間を要しますので、気長に待ちます。
ビルドが完了したら、次のコマンドを順に実行してください。

rbenv global 2.4.1
rbenv rehash

ここまでが完了したら、Rubyコマンドの動作を確認します。

ruby -v

次のような表示が出れば成功です。バージョン表記の中に「x86_64-linux」という文字がありますね。まさしく、Linux用のRubyコマンドがWindows上で動作しているのです。
(Bash on Ubuntu on Windows上でRubyコマンドを実行した様子)

◆Rails5のインストール

Rubyがインストールできましたので、いよいよRails5をインストールします。この記事の執筆時(2017年7月)はRails5.1.2が最新版としてデフォルトでインストールされます。

もう、ここまで来れば、Linux環境ですから、恐れることはないのです。普通に

gem install rails

とすれば、Rails関連のgemが次々とダウンロード、インストールされていきます。これです、この楽さこそが、これまでのWindows上のRailsインストールにやや足りていなかったものと言っていいでしょう笑

Rails関連のgemがすべてインストールされましたら、

rails new プロジェクト名

で、Railsプロジェクトを作成し、「rails s」コマンドでサーバを起動します。
(Ruby on Rails5 on Bash on Ubuntu on Windowsを実現した様子)

いかがでしょうか?上記のスクリーンショットは正真正銘、Windowsの画面ですが、無事にUbuntu上でRailsを動かすことができました。これで、あなたのWindows上でRuby関連のプロダクトをインストール・実行する場合には、基本的にUbuntuでの手順を踏襲していけば良いことになります。なんと素晴らしい環境でしょうか笑

ということで、上記がお役に立てましたら幸いです。

以上