Railsの環境構築

##はじめに
環境構築はPCを購入した後、一回やれば何度も毎回やる必要のない作業です。
ですので全く作業工程を覚えられる気がしないので、私が初めて行ったRailsで開発するための環境構築を忘れないうちに、ざっと書いておきます。

ちなみにMacでiOSはCatalina以降のやり方になります。

よろしくお願いします。

##Command Line Toolsをインストール
まず、Command Line Toolsを入れる前に下記のコマンドをターミナルで実行します。

```terminal:ターミナル
# zshをデフォルトに設定
% chsh -s /bin/zsh

# ログインシェルを表示
% echo $SHELL
# 以下のように表示されれば成功
/bin/zsh
```

もしパスワードを求められたら、PCのパスワードを入力します。

さあ、Command Line Toolsをインストールします。Command Line ToolsとはWebアプリケーション開発に必要なソフトウェアをダウンロードするために必要となる機能です。

下記のコマンドをターミナルに打ち込みます。

```terminal:ターミナル
% xcode-select --install
```

するとホップアップが出てくるのでインストールをクリック
→仕様許諾契約が出てきたら「同意する」をクリック

するとCommand Line Toolsのダウンロードが開始します。
完了したら次に進みます。

##Homebrewをインストール
ただこのHomebrewのインストールの前にMacのチップがM1チップの場合下記の設定を行っておくことをおすすめします。

###M1チップの場合
①Finderを開けて「ターミナル」を検索

②ターミナルアプリを2本指でタップ、もしくはマウスの場合は右クリックでメニューを表示させる。

③「情報を見る」をクリック

④「Rosettaを使用して開く」にチェックを入れる

⑤一度ターミナルを終了して、もう一度起動させる

ここまでできたら、あとはIntelチップの方と同じように進めていきます。

それではHomebrewをインストールしていきます。（Intelチップの人はここから作業する）
下記のコマンドを一つずつ実行していきます。

```terminal:ターミナル
% cd  # ホームディレクトリに移動
% pwd  # ホームディレクトリにいるかどうか確認
% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" # コマンドを実行
```
処理に時価がかかる可能性があるので慌てず待ちます。

パスワードの入力を求められたらPCのパスワードを入力します。
入力しても文字が入力されていないように見えるかもしれませんが、入力はされています。
入力できたらエンターキーを押します。

「Press RETURN to continue or any other key to abort」という文章が出てきたらエンターキーを押します。

プロンプトが現れ入力待ち状態になれば成功です。

下記コマンドでインストールできているか確認します。

```terminal:ターミナル
% brew -v
Homebrew 2.5.1 # 数字は異なる場合があります。
```

下記コマンドでバージョンを最新にします。

```terminal:ターミナル
% brew update
```

下記のコマンドで権限を変更します。

```terminal:ターミナル
%  sudo chown -R `whoami`:admin /usr/local/bin
```

##最新バージョンのRubyをインストール
まずはRubyの土台となる、rbenvとruby-buildをHomebrewを用いてインストールします。

```terminal:ターミナル
% brew install rbenv ruby-build
```

rbenvをどこからでも使用できるように下記コマンドを実行します。

```terminal:ターミナル
% echo 'eval "$(rbenv init -)"' >> ~/.zshrc
```

このコマンドでzshrcという設定ファイルを変更しました。
このファイルの修正内容を反映させるために、下記コマンドで再度読み込みをさせます。

```terminal:ターミナル
% source ~/.zshrc
```

続いてターミナルのirbで日本語入力を可能にする設定を行うために下記コマンドで「readline」をインストールします。

```terminal:ターミナル
% brew install readline
```

readlineもどこからでも使用できるようにします。

```terminal:ターミナル
% brew link readline --force
```

rbenvを使ってRubyをインストールします。
今回は2.6.5のバージョンのRubyをインストールします。

```terminal:ターミナル
% RUBY_CONFIGURE_OPTS="--with-readline-dir=$(brew --prefix readline)"
% rbenv install 2.6.5
```

このコマンドは１０分程度かかる場合があるコマンドなので気長に待ちましょう。
私は心配になって変に触って失敗しました。

インストールしたRuby 2.6.5を使用するために下記コマンドを実行します。

```teminal:ターミナル
% rbenv global 2.6.5
```

これでバージョンの指定ができたのでrbenvを読み込んで、変更を反映させます。

```terminal:ターミナル
% rbenv rehash
```

Rubyのバージョンを下記コマンドで確認します。

```terminal:ターミナル
% ruby -v
```

2.6.5が表示されればOKです。

##MySQLをインストール
下記コマンドでMySQLを導入します。

```terminal:ターミナル
% brew install mysql@5.6
```

このコマンドも時間がかかります。

完了したら次は自動起動させる設定をします。
というのもPCを再起動するたびにMySQLは起動し直す必要があるためです。面倒なので自動で起動してくれるようにします。

```terminal:ターミナル
% mkdir ~/Library/LaunchAgents 
% ln -sfv /usr/local/opt/mysql\@5.6/*.plist ~/Library/LaunchAgents
% launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql\@5.6.plist 
```

続いてmysqlをどこからでも実行できるコマンド```mysql```を実行できるようにします。
下記コマンドを実行します。

```terminal:ターミナル
% echo 'export PATH="/usr/local/opt/mysql@5.6/bin:$PATH"' >> ~/.zshrc # mysqlのコマンドを実行できるようにする設定
% source ~/.zshrc #  設定を読み込むコマンド
% which mysql # mysqlのコマンドが打てるか確認する

# 以下のように表示されれば成功
/usr/local/opt/mysql@5.6/bin/mysql
```

下記コマンドでMySQLが起動しているか確認します。

```terminal:ターミナル
% mysql.server status # MySQLの状態を確認するコマンド

# 以下のように表示されれば成功
 SUCCESS! MySQL running
```

##shared-mime-infoをインストール
下記コマンドでshared-mime-infoをインストールします。

```terminal:ターミナル
% brew install shared-mime-info
```

##Railsをインストール
まずはgemを管理するためのbundlerをインストールする必要があります。
下記コマンドを実行します。

```terminal:ターミナル
% gem install bundler --version='2.1.4'
```

続いて下記コマンドでRailsをインストールします。

```terminal:ターミナル
% gem install rails --version='6.0.0'
```

このコマンドも時間がかかります。

下記コマンドでrbenvを読み込んで変更の反映をさせておきます。

```terminal:ターミナル
% rbenv rehash
```

Railsが正常にインストールされているか下記コマンドで確認します。

```terminal:ターミナル
% rails -v
Rails 6.0.0  # 「Rails」のあとに続く数字は変わる可能性があります
```

##Node.jsをインストールする
下記コマンドでNode.jsをインストールします。
Railsを動かすためにNode.jsは必要です。

```terminal:ターミナル
% brew install node@14
```

さらに下記コマンドでNode.jsへのパスを設定します。

```terminal:ターミナル
% echo 'export PATH="/usr/local/opt/node@14/bin:$PATH"' >> ~/.zshrc
% source ~/.zshrc
```

下記コマンドでNode.jsがインストールされているか確認できます。

```terminal:ターミナル
% node -v
v14.15.3 # 数値は異なる場合があります
```

##yarnをインストール
yarnはプログラム同士の関係性を管理する役割で用いられるものです。

下記コマンドでyarnをインストールします。

```terminal:ターミナル
% brew install yarn
```

下記コマンドでインストールできているか確認します。

```terminal:ターミナル
% yarn -v
```

これで完了です。

##最後に
あくまでこれは私が初めて環境構築をしたときにやった工程を記したものです。
次にPCを買い換える時まで使うことはないかなと思いますし、そのときでは少しやり方が違ってたりするかもしれませんね。