Windows10 Anniversary Updateのおかげでコマンドプロンプトでubuntuを利用できるようになったみたいです
今回はそれを利用してwindowsにruby, ruby on rails の環境を作ってみたいと思います

Windows10 Anniversary Upudateをダウンロードしてインストール

まだアップデートを適用していない場合はここからダウンロードしてインストールします
https://support.microsoft.com/ja-jp/help/12387/windows-10-update-history
空き容量が 20GB以上必要みたいです
3時間くらいかかりました。
インストール後は4G程度消費されていました。

Bashの有効化、開発者モードをオンにする

コントロールパネル>プログラムと機能>Windowsの機能の有効化または無効化
を選択して
Windows Subsystem for Linux(Beta)
にチェックを入れます。
ぼくの場合はもうこれで使えたのですが、
開発者モードというのがすでにオンになってたからっぽいので、
一般的には
設定アプリ>更新とセキュリティ>開発者向け
を選択して
開発者モード
のラジオボタンをオンにするみたいです

bashを起動する

コマンドプロンプトを起動し
bash
ubuntuをインストールするといわれるので
yを押しインストールを始める
ユーザー名とパスワードを設定します

おおおー!bashが使える!なんか少し感動しました(笑)

Rubyをインストールしてみる

適当にインストール環境を整える

$ sudo apt-get update
$ sudo apt-get install git
$ sudo apt-get install curl g++ make
$ sudo apt-get install zlib1g-dev libssl-dev libreadline-dev libyaml-dev libxml2-dev libxslt-dev
$ sudo apt-get install sqlite3 libsqlite3-dev nodejs

rbenv, ruby-build をインストールする

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

~/.bashrcにrbenvのパスやら追記

export PATH=”$HOME/.rbenv/bin:$PATH”
eval “$(rbenv init -)”

rbenvでRuby2.3.1をインストール


$ rbenv install 2.3.1
すげー時間かかりました。寝てしまったので具体的な時間はわかりません。
$ rbenv global 2.3.1
$ ruby -v
ruby 2.3.1p112 (2016-04-26 revision 54768)

.gemrcも作っとく

$ cd
$ vim .gemrc
i を押してインサートモードで

install: --no-ri --no-rdoc 

update: --no-ri --no-rdoc 
 を入力し escを押した後 :wq enter で書き込み保存

Ruby on Rails のインストール

$ gem install rails --version="~> 4.2" 
$ rbenv rehash
$ rails -v
Rails 4.2.7.1

Railsアプリを作ってみる

$ rails new app1

これしたらいきなり怒られた。
bundlerのバージョンを1.12.5から1.12.3に下げたほうがいいらしい

ということでバージョンダウン

$ gem uninstall bundler
$ gem install bundler -v 1.12.3

これで rails new <appname>が通るようになった。

$ rails new app1
$ cd app1
$ rails s

ブラウザでhttp://localhost:3000 にアクセスするとレイルズサーバの稼働を確認できました。
めでたし

まとめ

とりあえず動きましたがこの先なんかバグに遭遇する気もします。
それでもWindowsでbashを使えるようになったのはかなり大きいですね。
わざわざMacやらLinux(内部的にはubuntuを導入していますが)を使わなくていいのは
Windows使ってる方にはうれしいかもしれません。

おわり