RailsをWindows Subsystem for Linuxで動かしてみる

Windows10から搭載されたWindows Subsystem for Linuxを使ってRuby on Railsの開発環境を作れないかと思ってやってみました。
手軽にやるにはまぁありかなという印象。

すでに同様のことをされている先人様がいっぱいいらっしゃいますね。
たぶん他記事との違いは後半のDドライブに入れようとして失敗した部分ぐらい。

WSLの導入

昔は"Bash on Windows"と言われていたのものが進化して、いろんなlinuxディストリビューションが導入できるようになっています。

Windows Storeで"bash on windows"とか"ubuntu"とか"linux on windows"とか適当に検索すると”WindowsでLinuxを実行する”というページにたどり着けます。

image.png

ここでお好みのディストリビューションを選んで、ポチッとインストールを押すと導入されます。
随分楽になってますね。

今回はUbuntuを選択しました。

Rails環境構築

各種アップデート

Ubuntuを起動すると、まずはパスワード設定が求められるので入力します。
その後、各種アップデートと必要なライブラリを導入しておきます。

初期設定
sudo apt update
sudo apt upgrade

sudo apt install -y build-essential

sudo apt-get install -y libssl-dev libreadline-dev zlib1g-dev libsqlite3-dev

rbenvの導入

Rubyの導入・複数バージョンの管理を楽にしてくれるrbenvを導入します。
rbenv

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

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

source ~/.bash_profile
rbenv --version

バージョンが表示されればOK

Node入れておく

NodeJSの最新のものも入れておきましょう。

node
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs

Ruby

rbenvを使ってRubyの導入を行います。

ruby
# インストールできるものリスト
rbenv install --list
# バージョンを指定してインストール
rbenv install 2.5.1
# 確認
rbenv versions
# 利用するバージョンの設定
rbenv global 2.5.1

gemを管理するbundlerも入れておきます

bundler
gem install bundler

Rails

Rails自体も複数バージョンが混在することを想定して
Railsが動く環境を構築 → その中でRailsアプリケーションを構築の手順で導入してみます。
気にしない場合はgem install railsで入れてしまってもOK

rails
# testディレクトリ内に設定してみる
mkdir test
cd test

bundle init
# 作成されたGemfileの
gem "rails" #を有効にする

bundle install --path vendor/bundle
rails
bundle exec rails new rails_test

cd rails_test
bundle install --path vendor/bundle
bundle exec rails s

Windows管理化部分でRails動かす場合

WSLではWindowsが管理している領域にもアクセス可能です。
/mnt/に各ドライブがマウントされているので、そちらで作業することもできます。
Windows側からソースコードの参照や開発する場合その方が便利ですね。

ただ、bundle installする先がwindows管理下の場合、失敗する場合が多い(おそらくビルドする必要があるライブラリとかが正しくビルドされない)ので、ライブラリのインストール先はlinux管理下にします。

rails
# Dドライブ下に作ってみる
cd /mnt/d
mkdir test
cd test

bundle init
# 作成されたGemfileの
gem "rails" #を有効にする

bundle install --path ~/tmp/vendor/bundle

bundle exec rails new rails_test

cd rails_test
bundle install --path ~/tmp/rails/vendor/bundle
bundle exec rails s

これで、D://test/rails_testのソースコードをお好みのエディタでがりがり書いていくとRailsアプリケーションが作れますね。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.