AWS Cloud9 でRuby on Rails の開発環境を構築する

## はじめに
ふとRuby on Railsの勉強をはじめようと思い、環境構築をすることにしました。
せっかくなので、AWS Cloud9で環境構築をしようと思います。

## やること
この記事では、以下のことを実施します。

- AWS Cloud9環境構築
- Ruby 環境構築
  - rvmを使用したruby version 2.5.1のインストールと切り替え
- Rails 環境構築
  - gemを使用したrails version 5.2.1のインストール

##AWS Cloud9環境構築
Cloud9は、クラウド環境でIDE(統合開発環境)を利用できるサービスです。

ブラウザ上で動くため、OSやその他環境が異なるPCでも同じ手順で開発環境を準備することができます。
[特徴 - AWS Cloud9 | AWS](https://aws.amazon.com/jp/cloud9/details/)

### Cloud9環境作成

AWS マネジメントコンソールからCloud9の画面に遷移します。

<b>Create enviroiment</b>をクリックします。
![20201011023747.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246580/aacda55c-784b-bd51-ecda-199d959ead99.png)

#### 環境設定
作成するCloud9環境の設定をしていきます。

<b>Name</b>にCloud9環境の名前をつけます。
自由に決定できるようですが、今回は<b>ruby-cloud9-env</b>にします。

入力できたら<b>Next step</b>をクリックします。

![20201011023821.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246580/3f3fd34a-3f88-64f3-257b-71f11a9608e0.png)

Cloud9環境に使用する<b>EC2インスタンス（仮想マシン）</b>の設定をします。
全てデフォルトで大丈夫です。

<b>Next step</b>をクリックします。

![20201011023907.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246580/a4228fc1-0511-ea5d-2870-d38689d47232.png)


#### 設定確認
構築する環境の設定を確認できます。
確認したら<b>Create enviroiment</b>をクリックします。

![20201011023920.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246580/6ffa60b6-7dee-0d94-71e0-f6344b473522.png)


Cloud9のIDE画面に遷移します。
少し待つと操作できるようになります。

これでCloud9環境の構築は完了です。


![20201011024006.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246580/7b6ef738-773a-fc18-cd92-b3b98abe15c0.png)

次はCloud9での開発に適した設定変更をします。

### スペース可視化
スペース記号の可視化を行います。

テキストエディタの右下にある<b>⚙歯車マーク</b>をクリックします。
設定が表示されるので<b>Show Invisibles</b>をクリックします。

![20201011024747.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246580/e77ed05e-2e78-e356-18bd-e9402087d168.png)

## Ruby 環境構築
ここからはRubyの環境構築をしていきます。

Cloud9画面下部にターミナルが表示されています。
ここでコマンドを実行していきます。

![20201011042946.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246580/85583241-de40-0f2c-9447-7323b10f8957.png)

まずはOSにプリインストールされているライブラリを最新化します。
基本的にアップデートされるものは無いと思います。

```bash
sudo yum update
```

![20201011025015.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246580/a6989f4c-8bc8-88cb-3c32-c0ec79d28ca9.png)


### rvmを使用してrubyのバージョンを切り替える
今回はRVM(Ruby Version Manager)を使用して複数VersionのRubyを管理したいと思います。

#### rvmインストール
Clooud9にはrvmがプリインストールされています。
念のためrvmがインストールされていることを確認します。

```bash
rvm -v
```

![20201011025047.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246580/d1ac7d09-6740-267b-55cc-1d9908e33ef5.png)


#### ruby-2.5.1インストール
現段階でrvmで切り替えできるRubyのバージョンを確認します。

```bash
rvm list
```

![20201011025113.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246580/81edca68-b385-5d76-438b-23c6ca83b53e.png)

<b>ruby-2.6.3</b>が使用できるようです。
今回は<b>ruby-2.5.1</b>を使用したいのでrvmを使ってインストールします。

```bash
rvm install 2.5.1
```

![20201011025150.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246580/55efef53-3caf-b95b-aea9-f845c6893ca8.png)


インストールが完了したらもう一度切り替えできるRubyのバージョンを確認します。

```bash
rvm list
```

![20201011025207.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246580/4350ed52-49fa-c061-d9d4-bc783af3cc66.png)

<b>ruby-2.5.1</b>が追加され、currentとなっていることが確認できます。

念のため、Rubyコマンドでも確認します。

```bash
ruby -v
```

![20201011025228.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246580/0468d782-0c89-88fc-9765-963420391c40.png)


#### rvmデフォルトバージョン変更

これでRVMを使用したRubyのバージョン切り替えができました。
ただ、今の設定ではターミナルを再起動した時にはrubyバージョンが<b>2.6.3</b>に戻ってしまいます。

そのため、RVMでのデフォルトバージョンを<b>2.5.1</b>に変更します。

```bash
rvm --default use 2.5.1
```

![20201011025304.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246580/67606374-1c14-3aef-2d56-77c740e6d5be.png)

切り替えできるRubyのバージョンを確認します。

```bash
rvm list
```

![20201011025334.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246580/089e70ec-d833-7f22-8342-79ac6b472d52.png)

<b>ruby-2.5.1</b>がcurrent && defaultとなっていることが確認できます。

以上でrubyの環境構築は完了です。

## Rails 環境構築
ここからはRailsの環境構築をしていきます。

#### railsインストール確認
まずはrailsコマンドがインストールされているかを確認します。

```bash
rails -v
```
![20201011025407.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246580/bb0b903b-e727-b024-bfd2-9c8ddb73bc09.png)

インストールされていないことが確認できます。

#### gemインストール
Railsは<b>gem</b>というコマンドを使用してインストールします。
gemとはRuby applicationやライブラリーのパッケージです。

gemがインストールされているか確認します。
rubyがインストールされていれば使用できます。

```bash
gem -v
```

![20201011025430.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246580/b1fbf1d7-eff0-fde1-cc1a-f822431fb9f5.png)

インストールされていることが確認できます。

#### railsインストール
それでは、gemを使用してrailsをインストールします。

```bash
gem install rails -v 5.2.1 -N
```

-Nオプションを使用すると、諸々のドキュメントのインストールをスキップできます。（インストールが早くなる）

![20201011025538.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246580/97c4dc3f-16ae-06e2-62b0-fc0ab8ccb25b.png)

インストールが完了したらrailsのバージョンを確認します。

```bash
rails -v
```
![20201011025601.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246580/d6aaae8b-1c0e-73b2-96d0-640ad2a0f15e.png)


インストールされていることが確認できました。

Railsの環境構築は以上です。

## 最後に
Ruby on Railsの環境構築って割と面倒臭いイメージがありましたが、（特にWindows）Cloud9を使用すると簡単に環境構築ができますね。
これからRuby on Railsを使っていくつか簡単なシステムを構築してみようと思います。