【Rails・MySQL】Mac環境構築

# MacのRails・MySQL環境構築について

### 目次
0. ログインシェルの設定
1. Command Line Toolsのインストール
2. Homebrewのインストール・設定
3. Rubyのインストール・設定
4. MySQLのインストール・設定
5. Railsのインストール・設定


## 1.ログインシェルの設定
※ OSがCatalina以降の場合、zshを利用するため、設定の確認・変更を行います。

**ターミナル**

```
# zshをデフォルトに設定
$ chsh -s /bin/zsh

# ログインシェルを表示
$ echo $SHELL
# 以下のように表示されれば成功
/bin/zsh
```
```echo $SHELL``` コマンドで、 ```/bin/zsh``` と表示されない場合は、
一度ターミナルを閉じて、再度開いた上でもう一度 ```echo $SHELL``` コマンドを打ってください。

## 2.Command Line Toolsのインストール
Command Line ToolsはWebアプリケーション開発に必要なソフトウェアをダウンロードするために必要な機能となります。（コマンドでプログラムを操作するもの）

### Command Line Toolsのインストール
以下のコマンドを入力します。

**ターミナル**

```
$ xcode-select --install
```
コマンド入力後にモーダルが表示されるので以下の順に操作します。
①「インストール」をクリック
②「同意する」をクリック
③Command Line Toolsのダウンロードが始まるので、完了まで待機
④ダウンロードが完了したら、「完了」をクリック

以上でCommand Line Toolsのインストールは完了となります。

## 3.Homebrewのインストール・設定
### 3-1. Homebrewのインストール 
Homebrewというソフトウェア管理ツールをインストールします。
以下のコマンドを入力します。

**ターミナル**

```
$ cd  # ホームディレクトリに移動
$ pwd  # ホームディレクトリにいるかどうか確認
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"  # コマンドを実行
```
※ 処理に時間がかかるので、ゆっくり待ちましょう。
途中でエンターキーの入力を求められるので入力をしましょう。

**ターミナル**

```
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"  # コマンドを実行
...
...
...
Pres RETURN to continue or any other key to abort
```
また、途中でパスワードの入力を求められますので入力をしましよう。
（パスワードを入力しても文字は表示されませんが、間違いなく入力はされています）

**ターミナル**

```
Pres RETURN to continue or any other key to abort
...
...
...
Password:
```
ダウンロードが完了し、再びコマンドを入力できるようになれば成功です。

### 2-2. Homebrewがインストールされているか確認
以下のコマンドを入力します。

**ターミナル**

```
$ brew -v
Homebrew 2.2.12  # このバージョンはインストールのタイミングで異なります
```

### 3-3. Homebrewをアップデート
Homebrewを最新の状態にアップデートします。
以下のコマンドを入力します。

**ターミナル**

```
$ brew update
```

### 3-4. Homebrewの権限を変更
Homebrewの権限を変更します。
以下のコマンドを入力します。

**ターミナル**

```
$ sudo chown -R `whoami`:admin /usr/local/bin
```

## 4.Rubyのインストール・設定

### 4-1. rbenvとruby-buildをインストール
rbenvとruby-buildを、Homebrewを用いてインストールします。
以下のコマンドを入力します。

**ターミナル**

```
$ brew install rbenv ruby-build
```

### 4-2. rbenvをどこからも使用できるように設定
PCにおけるどこのディレクトリからも使用できるようにするため、
以下のコマンドを入力します。

**ターミナル**

```
$ echo 'eval "$(rbenv init -)"' >> ~/.zshrc
```
zshrcというのは、設定ファイルの名称です。
（CatalinaかMojave以前の方で、設定ファイルの場所が異なるのでご注意してください）

### 4-3. zshrcの変更を反映
設定ファイルであるzshrcを修正したので、以下のコマンドでzshrcを再読み込みし、変更を反映させます。
以下のコマンドを入力します。

**ターミナル**

```
$ source ~/.zshrc
```

### 4-4. readlineをinstall
ターミナルのirb上で日本語入力を可能にする設定を行うためにインストールします。
以下のコマンドを入力します。

**ターミナル**


```
$ brew install readline
```
こちらについてはコマンドを実行すると、すでにインストール済みと表示されることがあります。
（特に問題はありませんので、そのまま次に進みましょう。)

### 4-5. readlineをどこからも使用できるように設定
readlineをどこからでも使用できるようにするため、
以下のコマンドを入力します。

**ターミナル**

```
$ brew link readline --force
```

### 4-6. rbenvを利用してRubyをインストール
Webアプリケーション開発用のRubyをインストールします。（Rubyのversionは任意のversionを設定して下さい）
以下のコマンドを入力します。

**ターミナル**

```
$ RUBY_CONFIGURE_OPTS="--with-readline-dir=$(brew --prefix readline)"
$ rbenv install 2.7.1
```
※ 処理に時間がかかるので、ゆっくり待ちましょう。（約10分くらい）

### 4-7. 利用するRubyのバージョンを設定
インストールしたRuby 2.7.1を使用するために、
以下のコマンドを入力します。

**ターミナル**

```
$ rbenv global 2.7.1
```
これまで使用していた、デフォルトでPCに入っていたRubyから、先ほどインストールしたRubyを使用するように切り替えることができました。

### 4-8. rbenvを読み込んで変更を反映
Rubyのバージョンを切り替えたので、変更を反映させます。
以下のコマンドを入力します。

**ターミナル**

```
$ rbenv rehash
```

### 4-9. Rubyのバージョンを確認
バージョンを切り替えることができたか、確認をします。
以下のコマンドを入力します。

**ターミナル**

```
$ ruby -v
```
Rubyのバージョンが、先ほどインストールした2.7.1であることが表示されれば完了です。

## 5. MySQLのインストール・設定

### 5-1. MySQLのインストール
MySQLをインストールします。（MySQLのversionは任意のversionを設定して下さい）
以下のコマンドを入力します。

**ターミナル**

```
$ brew install mysql@5.7
```
※ 処理に時間がかかるので、ゆっくり待ちましょう。

### 5-2. MySQLの自動起動設定
MySQLは本来であればPC再起動のたびに起動し直す必要がありますが、それでは面倒であるため、自動に起動するように設定します。
以下のコマンドを入力します。

**ターミナル**

```
$ mkdir ~/Library/LaunchAgents 
$ ln -sfv /usr/local/opt/mysql\@5.7/*.plist ~/Library/LaunchAgents
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql\@5.7.plist
```

### 5-3. mysqlコマンドをどこからでも実行できるように設定
rbenvやreadlineの時と同様に、どこからでもMySQLを操作するためのコマンドmysqlを実行できるように設定します。
以下のコマンドを入力します。

**ターミナル**

```
# mysqlのコマンドを実行できるようにする
$ echo 'export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"' >> ~/.zshrc
$ source ~/.zshrc
# mysqlのコマンドが打てるか確認する
$ which mysql
# 以下のように表示されれば成功
/usr/local/opt/mysql@5.7/bin/mysql
```

## 6. Railsのインストール・設定
### 6-1. bundlerをインストール
Rubyの拡張機能（gem）を管理するためのbundler（バンドラー）をインストールします。
以下のコマンドを入力します。

**ターミナル**

```
$ gem install bundler
```

### 6-2. Railsをインストール
Railsをインストールします。（Railsのversionは任意のversionを設定して下さい）
以下のコマンドを入力します。

**ターミナル**

```
$ gem install rails --version='6.0.3'
```
※ 処理に時間がかかるので、ゆっくり待ちましょう。

### 6-3. rbenvを再読み込み
一通り開発に必要なものはインストールできたので、以下のコマンドでrbenvを読み込んで、変更を反映させましょう。
以下のコマンドを入力します。

**ターミナル**

```
$ rbenv rehash
```

### 6-4. Railsが導入できたか確認
以下のコマンドを実行して、Rails 6.0.3が表示されれば問題なくインストールが完了しています。

**ターミナル**

```
$ rails -v
```

以上で、Macでの【Rails・MySQL】の環境構築は完了です。