基礎Ruby on Rails #01 Chapter1 Rails開発環境の構築(WSL+Intellij IDEA)


前 初回
次 [基礎Ruby on Rails #02 Chapter1 アプリケーションの新規作成](https://qiita.com/tseno/items/3cca8f8207003d269e08)

# Chapter1

## Railsのコンポーネント

- RubyのGemパッケージ
    - Action Pack
        - Action Controller コントローラ
        - Action Dispatch ルーティング
    - Action View ビュー
    - Action Mailer 電子メール送信
    - Active Model モデル
    - Active Record データベースと結びついたモデル
    - Active Job プログラムの非同期実行
    - Active Support 共有ライブラリ集
    - Active Storage クラウドストレージサービスへのアップロード
    - Railties railsコマンドなどのユーティリティ

## 環境構築に必要なもの

- Mac/Windows共通
    - Ruby
        - バージョン2.5
    - rbenv/ruby-build
        - 複数のバージョンのRubyを切り替える
    - RubyGems
        - パッケージマネージャ
    - Ruby on Rails、およびその他のGemパッケージ
        - Gemパッケージとしてインストールする。
    - SQLite3
- Mac
    - Xcodeとコマンドライン・デベロッパツール
    - Homebrew
- Windows
    - Window Subsystem for Linux (WSL)
        - 64ビットのWindowsのみしか利用できない。
    - Ubuntu
    - MSYS2/MinGw(WSLが利用できない場合)
  
## Windows、WSLでのインストール

### WSL/Ubuntuのインストール

- コントロールパネルの「プログラム」→「プログラムと機能」→「Windowsの機能の有効化または無効化」
- 「Winows Subsystem for Linux」のチェックボックスをオンにして、OKを押す。
- Windowsを再起動する。
- 「スタート」ボタンから、「Microsofot Store」を開く。
- 検索ボックスに「ubuntu」と入力して、「Ubuntu 18.04 LTS」を選ぶ。
- 「入手」ボタンを押す。
- 「起動」ボタンを押す。
- 黒い背景のウィンドウが開き、「Installing, this may take a few minutes...」というメッセージが表示される。
- 「Enter new UNIX username:」と表示されたら、Ubuntuで使用するユーザー名を入力する。
- 「Enter new Unix password:」と表示されたら、パスワードを入力する。確認でもう一度入れる。
- $が表示された行が出てきたら、黒い背景のウィンドウを閉じる。

### Ubuntuターミナル

- スタートボタンを押して、「Ubuntu 18.04」を選択すると、Ubuntuターミナルが表示される。

[窓の杜・ストアにある3つの「Ubuntu」の違いは？](https://forest.watch.impress.co.jp/docs/serial/yajiuma/1134055.html)

> さて、現在“Windows Store”には3つの「Ubuntu」が存在します。
> 
> ・「Ubuntu」：現行の「Ubuntu LTS」。新しいバージョンがでるたびに更新される
> ・「Ubuntu 16.04」：2021年まで利用可能なLTS版
> ・「Ubuntu 18.04」：2023年まで利用可能なLTS版
> 
> 　無印「Ubuntu」の内容は現在のところ**「Ubuntu 16.04」**ですが、「Ubuntu 18.04.1」ポイントリリースのタイミングで「Ubuntu 18.04」に切り替わります。
> 
> 　ただし、すでにインストールされている無印「Ubuntu」が自動でアップデートされることはありません。

### Ubuntuの更新

- 以下の2つのコマンドで、Ubuntuを更新する。

```sh
$ sudo apt-get update
$ sudo apt-get -y upgrade
```

### Rubyのインストール

```sh
$ sudo apt-get -y install rbenv ruby-build
$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
$ source ~/.bashrc
$ mkdir -p ~/.rbenv/plugins
$ cd ~/.rbenv/plugins/
$ git clone https://github.com/rbenv/ruby-build.git
$ cd
$ rbenv install 2.5.1
$ rbenv global 2.5.1
```

Rubyのバージョンを確認する。

```sh
$ ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu]
```

### SQLite3のインストール

```sh
$ sudo apt-get install sqlite3 libsqlite3-dev
```

### Railsのインストール

Railsが依存するGemパッケージnokogiriのインストールに必要

```sh
$ sudo apt-get install -y build-essential patch ruby-dev zlib1g-dev liblzma-dev
```

Rails 5.2.1をインストールする。

```sh
$ gem install rails --version=5.2.1 -N
$ rails -v
Rails 5.2.1
```

### 学習用ディレクトリの作成

Windowsのデスクトップにrailsというディレクトリを作成して、実行する。

```sh
$ ln -s /mnt/c/Users/tseno/Desktop/rails ~/rails
```

### Intellij IDEAの設定

- Ruby、WSL Support Frameworkプラグインを入れる。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/88686/c277b0a1-090e-ab0a-3af6-78a917b10b75.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/88686/1f873ff2-7953-7735-0649-fba0c4598073.png)

- File → Project Structureより、New → Ruby SDKをクリック

![image.png](https://qiita-image-store.s3.amazonaws.com/0/88686/af53b559-db8c-34c8-336b-23f35139c245.png)

- New remoteをクリック

![image.png](https://qiita-image-store.s3.amazonaws.com/0/88686/bbaea587-0f29-6573-5c82-90d2b45b6938.png)

- WSL、Ubuntu18.04、`/home/tseno/.rbenv/versions/2.5.1/bin/ruby`（ユーザ名は自分のに変更）を入力して、OKを押す。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/88686/f541a936-195d-1ea0-a73c-705bec79ce14.png)

- Debug...をクリック。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/88686/784d056d-acab-f766-e551-8abdd28d59ef.png)


- Edit Configurations...を押す。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/88686/aaae40e7-31fc-a2e0-3966-93cc2e4b225e.png)

- 左上の＋を押して、Railsを選択する。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/88686/df7226ed-0e55-cbbb-5497-3943b6796ab6.png)

- 特に何も入れずに、Debugを押す。。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/88686/fcce4992-0b78-3ca1-104f-84558829bb22.png)

- ブラウザが起動して、画面が出る。ブレークポイントを設定すると、止まることを確認。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/88686/b2a0ce42-6fac-a61f-83fa-5d4ee01ac0c5.png)


参考
[改訂4版 基礎 Ruby on Rails (IMPRESS KISO SERIES)](https://www.amazon.co.jp/%E6%94%B9%E8%A8%824%E7%89%88-Ruby-Rails-IMPRESS-KISO/dp/429500460X/ref=tmm_pap_swatch_0?_encoding=UTF8&qid=1536666358&sr=1-1)