【初心者向け】1番初めにやる、Ruby on Rails環境構築（Mac）

#はじめに

Railsチュートリアル以降ずっとcloud9で開発してきましたが、cloud9上のエラーに時間を使ってしまったり、読み込みが遅かったり、業務に支障が出たりするので、流石にそろそろ１からしっかりと開発環境を作ってみようと思います。

#環境構築
##①Command Line Toolsインストール
**コマンドラインツール**とは、プログラミングの環境を構築したり実際にプログラムを実行したりする際に、コマンドを入力して操作ができるアプリケーション、**CUI(キャラクターユーザーインターフェース）**のことです。

（↔︎マウスなどで操作する通常アプリケーション：**GUI(グラフィカルユーザーインターフェース)**）

Xcodeのバージョンが6.1以降の場合、Command Line Toolsは自動的にインストールされるので、**Xcodeをダウンロード**していきます。

①Appleの「developerアカウント」にログイン
②『Download Tools』へ
③「Xcode」ダウンロード

ちなみにXcodeは、
・テキストエディタ
・インターフェースの作成（Interface Builder）
・デバッグ
・ビルド
・テスト
・シミュレーター（iOS Simulator）
・ソースの管理
などの必須機能を備えたものです。

##②Homebrewインストール

**Homebrew**とは、Mac OS Xオペレーティングシステム上でソフトウェアの導入を単純化するパッケージ管理システムのひとつです。

①あるかどうか確認（Xcodeが入ればHomebrewも入っているはず）

```
$ brew -v
```
②念のためアップデート

```
$ brew update
```

##③rbenvインストール

**rbenv**とは、~/.rbenv/以下で、インストールした様々なRubyバージョンを管理し、状況に応じて必要になるRubyのバージョンを簡単に切り替えてくれるコマンドラインツールです。

①あるかどうか確認

```
$ rbenv -v
```
②念のためアップデート

```
$ brew upgrade rbenv
```

③無ければインストール

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

##④Rubyの最新バージョンをインストール

①インストール可能なRubyのバージョンを確認

```
$ rbenv install --list
```
②現時点で最新の「2.7.0-dev」を入れる

```
$ rbenv install 2.7.0-dev
$ rbenv global 2.7.0-dev
$ rbenv rehash
```
③バージョンが反映されているか確認

```
$ ruby -v
```

##⑤Bundlerインストール

**Bundler**とは、gem同士の互換性を保ちながらパッケージの種類やバージョンを管理してくれるgemです。
複数人、または複数環境で開発を行う際、各環境で使用するものに合わることができます。

Ruby2.6.0よりBundlerは標準添付されてるので、上記の通りやっていれば既にインストールされているはずです。

①念のため確認

```
$ bundle -v
```
②念のためアップデート

```
$ gem update bundler
```

③無ければインストール（Ruby2.5.5以前を使用していた場合、等）

```
$ gem install bundler
```

##⑥MySQLインストール
**(SQLiteを使用する場合この設定は不要です)**

**MySQL**とは、世界で最も利用されているデータベース管理システムです。

LAMP環境（「Linux」＋「Apache」＋「MySQL」+「PHP（またはRuby）」）でサーバーを構築する企業が多く、よく利用されています。

①MySQLをインストール

```
$ brew install mysql
```
②起動

```
$ mysql.server start

Starting MySQL
. SUCCESS! 
```

##⑦Railsインストール

最後です。
GemfileにRailsを加え、インストールしていきます。
これができて、晴れて画面表示されます。

①作業するディレクトリを作成

```
$ mkdir ~/workspace
$ cd ~/workspace
```
②Rubyのバージョンを指定

```
$ rbenv local 2.7.0-dev
```
作業ディレクトリに.ruby-versionファイルが作成される

③Gemfileを作成する

```
$ bundle init
```
④Gemfile内の「# gem "rails"」のコメント解除

```Gemfile
# frozen_string_literal: true

source "https://rubygems.org"

git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }

gem "rails"
```
⑤Railsをインストール

```
$ bundle install --path=vendor/bundle
$ bundle exec rails -v
Rails 5.2.3
```
⑥Railsアプリ作成

```
$ bundle exec rails new test_app
```
⑦Webサーバー起動

```
$ rails server
```

⑧http://localhost:3000/ へアクセス
下記の画面が表示されれば成功です。
<img width="565" alt="スクリーンショット 2019-04-16 16.17.18.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329941/5a383fbe-a4d0-3237-c75b-7dce55b5ba78.png">

⑨※サーバーが立ち上がらない

railsはしっかり入っているのに、rails serverを実行すると

```
$ rails server
Rails is not currently installed on this system. To get the latest version, simply type:

    $ sudo gem install rails

You can then rerun your "rails" command.
```
と出て実行してくれませんでしたが、

下記を実行した後に無事動くようになりました。

```
$　gem install railties
$　rbenv rehash
```

上の画像が表示されました！！

#参考

[最速！MacでRuby on Rails環境構築](https://qiita.com/narikei/items/cd029911597cdc71c516#rails%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E8%B5%B7%E5%8B%95)
[Ruby初学者のRuby On Rails 環境構築【Mac】](https://qiita.com/TAByasu/items/47c6cfbeeafad39eda07)
[railsコマンドが使えないときにやったこと](https://qiita.com/TAByasu/items/8c873b7a1e72163dfbad)