windowsのbashでRails環境を構築してみる。（Windows 10 Insider Preview 14316）

**[windowsのbashでRails環境を構築してみる。（Windows 10 Anniversary Update版）](http://qiita.com/chimame/items/8130aa2c07a152a865b1)に書きなおしたので、こちらを参照下さい。**


#前提
本記事での内容は2016年4月6日公開でのbuild 14316環境下での構築記事となります。
また、現時点では"Fast Ring"での公開ですので不具合が発生する確率が高いため、使用する場合はその辺を理解の上、使用するようにしてください。

#bashインストール
さっそくwinodwsでbashが使えるとのことですので使えるようにセットアップをします。
まずは、Windowsでの"開発者モード"をオンにします。
「スタートメニュー」→「設定」→「更新とセキュリティ」→「開発者向け」を選択し、"開発者モード"を選択します。
![image](https://qiita-image-store.s3.amazonaws.com/0/70363/9bbd1880-9939-5cd6-9d92-9d69a8bcff44.png)

次にbashを使用するために以下の機能を有効にします。
「スタートメニュー」右クリック→「プログラムと機能」→「Windowsの機能の有効化または無効化」から"Windows Subsystem for Linux(Beta)"をチェックし、有効にします。
![image](https://qiita-image-store.s3.amazonaws.com/0/70363/75bb0bd7-275a-45fa-7916-5f8f87296f67.png)

これを選択すると再起動を求められるので、再起動します。

最後にBashコマンドのインストールです。
コマンドプロンプトを開いて、` bash` と打ち込み、Enterで実行。
![image](https://qiita-image-store.s3.amazonaws.com/0/70363/a46576d5-e0d4-01d8-231f-281cd5c1c994.png)


と、こんな感じでインストールできます。（最後に` ls` で動作確認）
以降のインストールで使用するapt-getのインストールリストを最新にしておくといいです。

```
apt-get update
```

#Rubyのインストール
ではRubyのインストールです。
Windowsではインストーラを使うのが普通？かもしれないですが、今回は"rbenv"を使って入れてみます。

といってもまずは必要な"git"から。以下のコマンドでgitをインストールします。

```
apt-get install git
```

うーん、Windowsで` apt-get` が動くのがなんとも言えませんが、gitがインストールできるはずです。
ちなみに自分のWindowsがほぼまっさらな状態でgitをインストールしてなかったのですが、元々入っていればいらないのかな？その辺は一度gitコマンドを叩いて確かめてくれるとありがたいです。
git以外を入れているのでは後々いるからです。

続いて、rubyをインストールするためのrbenvをインストールします。

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

次に~~`~/.profile`~~（間違えてたこっち→）`~/.bashrc`に以下を足します。（一番最後でOK）

```
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
```

~~ただ、Windows側のコマンドプロンプトから` bash` コマンドを叩いただけでは上記のファイルは読み込まれない？ようなので都度以下を叩く必要があるかもしれません。（この辺はもう少し調べないとわからない。）~~
上記を`~/.bashrc`に追加して以下を実行すれば以降いらないはずです。

```
source ~/.profile
```

Rubyのインストールに必要なCコンパイラやその他必要なものを入れておく。

```
apt-get install gcc build-essential libssl-dev libreadline-dev zlib1g-dev
```

これでRubyをインストールする環境が整ったので、Ruby2.3.0をインストール

```
rbenv install 2.3.0
```

インストールしたRubyに切り替えてバージョンが表示されればOK

```
rbenv global 2.3.0
ruby -v
```

#Ruby on Railsのインストール
ここまでくればほぼ通例どおりなので、サクッといきたいところ
まずは、bundlerを入れます。

```
gem install bundler
```

作成用のフォルダを作ってbandleの初期化を実行

```
mkdir rails_on_windows
cd rails_on_windows
bundle init
```

作成されたGemfileを開いてRailsのコメント部分を修正

```
source "https://rubygems.org"

gem "rails"
```

ここで一番の難所のNokogiriインストール設定をしておく。

```
gem update --system
apt-get install libxml2 libxml2-dev libxslt-dev
```

```
bundle config build.nokogiri "--use-system-libraries --with-xml2-include=/usr/include/libxml2"
```

でRailsをインストール

```
bundle install --path vendor/bundler
```

Nokogiriでエラーにかからなかったらゴールは目の前です。

```
apt-get install libsqlite3 libsqlite3-dev
```

sqliteで動かすだけですが、とりあえず入れておきます。
それとJavaScriptのランタイムがいるのですが、
「Node.jsをインストールする」か「以下のgemをGemfileで有効」のどちらかを実施します。（Gemfile編集は` bundle exec rails new first_project --skip-bundle` で作られたGemfileを編集）

```
gem 'therubyracer', platforms: :ruby
```

でもって最後に以下のコマンドで仕上げのインストールを。

```
bundle exec rails new first_project --skip-bundle
cd first_project
bundle install --path vendor/bundler
```

最後にRailsを立ち上げます。

```
bundle exec rails s
```

なんかワーニング出ますが、とりあえずは無視…

```
/root/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/bundler-1.11.2/lib/bundler/shared_helpers.rb:78: warning: Insecure world writable dir /root/.rbenv/versions in PATH, mode 040777
/root/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/bundler-1.11.2/lib/bundler/shared_helpers.rb:78: warning: Insecure world writable dir /mnt/c/Users/【ユーザ名】/rails_on_windows/first_project/vendor/bundler/ruby/2.3.0/bin in PATH, mode 040777
/root/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/bundler-1.11.2/lib/bundler/shared_helpers.rb:78: warning: Insecure world writable dir /mnt/c/Users/【ユーザ名】/rails_on_windows/first_project/vendor/bundler/ruby/2.3.0/bin in PATH, mode 040777
```

ブラウザで「localhost:3000」でアクセスすると…
![image](https://qiita-image-store.s3.amazonaws.com/0/70363/55f40a62-d4e7-e809-70ac-5002df2f4b84.png)

#エクスプローラからファイルを見る
最後に作ったファイルはエクスプローラからはどうなってるかというと
![image](https://qiita-image-store.s3.amazonaws.com/0/70363/eddfaa61-96f9-519b-20c8-90c089002e19.png)
こんな感じに普通に見えるので、好きなエディタで開発も可能です。

ワーニングは別に調査するとして、
まずはWindowsでRubyおよびRailsの開発環境が作れるってことには大きく前進したんじゃないでしょうか。
Windowsの豊富なソフトウェア群での開発とLinuxでの開発環境のハイブリットはなかなかいい感じです。

安定の誤字脱字や間違いがあれば修正します。