rails 環境構築（Mac）


Macでrailsの環境構築をするときに色々なツールが何故必要なのか気になり、調べながら環境構築をしていく。


#全体の流れ
１、Command Line Toolsをインストール
２，Homebrewをインストール
３，Homebrewを使い、rbenvとruby-buildというパッケージをインストール
４，rbenvとruby-buildを使ってrubyをインストール
5，gemコマンドでbundlerをインストール
6，gemコマンドでrailsをインストール
##① Command Line Toolsをインストール
　一般的に、数多くあるunixベースで作成されたソフトウェアをインストールするにはGCC compiler（ジーシーシー コンパイラー）と呼ばれるものが必要で、ないとソフトウェアをインストールするときに不具合が起きる原因になります。なので、GCC compilerを持つcommand line toolsを先ず最初にインストールします。


[ダウンロード](https://idmsa.apple.com/IDMSWebAuth/login?appIdKey=891bd3417a7776362562d2197f89480a8547b108fd934911bcbea0110d07f757&path=%2Fdownload%2Fmore%2F&rv=1)（AppleIDが必要）

ページ先で自分のmacのOSバージョンにあうcommand line toolsをインストール

##②Homebrewをインストール
　Homebrewは、オープンソースのソフトウェアパッケージ管理システムで、アップルのmacOS(オペレーティングシステム)にソフトウェアを簡単にインストールできるようにするものです。

つまり、あなたに必要なソフトウェアがあった場合、そのインストールを簡単にしてくれるものです。

本来、２つのソフトウェアをインストールするには、２つのインストーラーが必要です。

しかしそれだと、１０個のソフトウェアをインストールするのに１０個のインストーラーが必要になり、非常に面倒です。

また、ソフトウェアのアップデートをする場合にも、通常それぞれのインストーラーからしなければならないのでインストーラーを探すことから始まります。

そこで、Homebrewの登場です。

Homebrewをインストールすると、それぞれのインストーラーが必要なくなり、さらに、アップデートも、brewコマンドと言われるHomebrewのコマンドを使うことで簡単にできるようになります。（Homebrewが全て管理してくれます）

説明は以下で早速Homebrewをインストールしていきましょう。（インストールに時間がかかるので注意してください。）

```
$ cd 
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
```

「Press RETURN to continue or any other key to abort」 と表示された行の後は、エンターキーを押してください。

その後Passwordを入力する画面になりますが、このパスワードは、ご自身のMacのパスワードを入力してください。

その後以下のコマンドを打ち込んでください。

```
$ sudo chown -R `whoami`:admin /usr/local/bin
```
これは/usr/local/bin以下のディレクトリの操作権限を現在ログインしているユーザーに変更しています。これをしないと操作をしようとするたび毎回パスワードを入れないといけなくなり面倒です。

##③rbenvとruby-buildをインストール
　rbenvは、簡単にいうとrubyのバージョンを管理しやすくしてくれるものです。

というのも、rubyには色々なバージョンが存在し、それを切り替えて使い分ける必要があります。当初に使われたバージョンと違うもの使うと、エラーの原因になり、バージョン管理は慎重にしなければなりません。しかし、そのバージョン管理は手間の書かる作業であり、とても大変です。

つまり、それを解決してくれるのがrbenvです。

ruby-buildはrbenvのプラグインです。プラグインとは、機能の拡張をしてくれるものです。

この２つをセットでインストールすることにより、簡単にrubyをインストールでき、またバージョン管理も簡単になります。

```
$ brew install rbenv ruby-build
```
これから、「**パスを通す**」ということをしていきます。

「パスを通す」とはどういうことかというと、rbenvをどのディレクトリからも使用できるようするということです。

本来アプリケーションを利用するためにはそのアプリケーションの存在するディレクトリまで移動しなくてはいけません。

しかし、設定ファイルにコードを書き設定することで、どのディレクトリからもアプリケーションを呼び出せるようになります。

このことを「パスを通す」と言います。

```
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
```

次に、上記の設定を有効にするためのコマンドを打ち込んでいきます。

```
$ source ~/.bash_profile
```

それでは次に、ターミナルのirb上で日本語入力を可能にする設定をしていきましょう。

```
$ brew install readline
```
同じくreadlineをどのディレクトリからでも使用できるようにパスを通しましょう。

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

##④rubyをインストール
　先ずはインストールできる一覧を見ます。

```
$ rbenv install -l
Available versions:
1.8.5-p52
  1.8.5-p113
  1.8.5-p114
  1.8.5-p115
  1.8.5-p231
  1.8.6
  1.8.6-p36
  1.8.6-p110
  1.8.6-p111
  1.8.6-p114
```

本来はもっとでてきます。が省略。
インストールしたいバージョンにを指定し、インストール。

```
 $ rbenv install 2.6.1（←　バージョン）
```

```
$ rbenv rehash
```

```
$ rbenv global 2.6.1
```
rbenv global コマンドは、そのPCの全ての開発環境で利用するRubyのバージョンを決めることができます。

##⑤gemコマンドでbundlerをインストール
　これから、RubyGemsというものを使って、Ruby用のライブラリをインストールしていくのですが、RubyGemsというものについて少し説明していきます。

RubyGemsとは、Ruby用に作られたパッケージ管理ツールです。もともとRubyには、色々便利なライブラリが存在し、それを使うことで自身で１からプログラミングしなくても、ある一定の機能を作成することができます。

そして、Rubyで使われるそれらライブラリは、gem形式でパッケージされています。
その為、RubyGemsを使って、gem形式でパッケージされているライブラリのインストール・アンインストールをできるようにしています。。

　 これから、インストールする Ruby on Rails も、Rubyのライブラリの一つであり、gem形式でパッケージされています。
RubyGemsは、Ruby標準添付のライブラリとなっているので、先程Rubyをインストールしたときに同時にインストールされています。

・bundlerとはgemのバージョン管理などをしてくれるgemです。
環境ごとに使用するgemを決めたり、gemのバージョンを指定したりできます。

```
$ gem install bundler
```

ここでgemコマンドを使用しています。これは上記で説明した、RubyGemsのコマンドです。

##⑥gemコマンドでrailsをインストール
　それでは、今回の最終目的である、Ruby on Rails をインストールしていきましょう。

さきほども説明しましたが、

Rubyのフレームワークである、Ruby on Rails も、Rubyライブラリの一つであり、gem形式でパッケージされています。

それでは、以下のコマンドを実行してください。

※処理に時間がかかるコマンドです。

```
$ gem install rails --version='5.2.2'
```

##最後にもう一度rehash
gemは、各Rubyのバージョンごとに個別に保管されます。

rbenv rehashコマンドは、そのバージョンで利用しているgemのコマンドを使えるようにするために必要なコマンドです。

gemコマンドでgemをインストールしたときは、rbenv rehashコマンドを実行するのを忘れないようにしましょう。

以下のコマンドを実行してください。

```
$ rbenv rehash
```


```
$ rails -v
```
 最後にバージョンが表示されていればインストールできています。