Windows 10上でLinuxを使うことができる、Windows Subsystem for Linux(以下WSL)が、昨年秋のFall Creators Updateでベータ版から正式版へと切り替わりました。
これにより、WSLの利用に際して開発者モードを選択する必要もなくなり、誰でも手軽にWindows 10上でLinuxディストリビューションをお試しできる環境が整いました。
ということで、Windows 10上のUbuntu 18.04に、Ruby on Railsの開発環境を構築してみました。
WSL(Windows Subsytem for Linux)を有効化する
まず始めに、WSLを有効化します。
スタートメニューを右クリックして、「アプリと機能」を選択。関連設定のなかの「プログラムと機能」リンクをクリックします。
続いて、「プログラムと機能」ページで「Windowsの機能の有効化または無効化」リンクをクリック。
最後に、Windows Subsystem for Linuxにチェックが入っているかどうかの確認。チェックが入っていなければ、チェックを入れます。
ここまでできたら、Windowsストアに行き、Ubuntuの最新版18.04をインストールしましょう。
なお、Windowsストアには、ひとつ前のバージョンUbuntu 16.04もありますし、DebianやopenSUSEなど、他のディストリビューションも用意されています。
rbenvでRuby環境を構築
複数バージョンのRubyを管理するため、rbenvとruby-build、ruby-gemsetをgitコマンドでインストールします。
sudo apt install git
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
続いて、.bash_profileに追記して、パスを通します。
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
source ~/.bash_profile
最後に、Rubyをビルドするためのツール、ライブラリをインストール。
sudo apt install -y autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev
さらに、Ubuntu 18.04では、sqlite3をビルドするために、次のライブラリが必要となります。
sudo apt install -y libsqlite3-dev
ここまでできたら、次のコマンドで、rbenvでインストール可能なRubyのバージョンを確認します。
rbenv install --list
最新版の2.5.1をインストールして、これを有効化。
rbenv install 2.5.1
rbenv global 2.5.1
2.5.1が有効化されたことを次のコマンドで確認します。
$ ruby -v
Ruby on Railsのセットアップ
次に、Ruby on Railsの最新版をインストールします。
gem install rails -v 5.2.0
試しに新規プロジェクトhogeを作ってみましょう。
rails new hoge
プロジェクトが出来上がったら、hogeフォルダ内のGemfileをテキストエディタで開き、次の一行をアンコメント(行頭の#マークを外す)。
# gem 'mini_racer', platforms: :ruby
ここで、端末からbundle installコマンドを実行。続けてrails serverコマンドを実行します。
bundle install
rails server
ブラウザでhttp://localhost:3000にアクセスして、次の画面が表示されれば、インスタールは成功です。
Rubyのコンパイルなどに多少、時間はかかるものの、Railsの開発環境として、必要最小限のことはできるレベルにまでには到達していると思います。
少なくとも、WindowsでRubyを使いたければ、VirtualBoxやVmware PlayerにRubyを入れろという常識は、WSLによって覆されたのではないでしょうか。