MacでRails６を起動！！

基本情報の試験がなくなり外に出なくなった今、Railsを触る他はない！！
というわけでせっかくなのでRails６をインストールして起動までしようと思います

前提としてHomebrewはインストール済みです。

##環境
Ruby：2.6.5
Rails： 6.0.2.2
Homebrew: 2.2.13
rbenv: 1.1.2
Bundler: 2.1.4
ブラウザ： Google
OS： Mac Catalina（10.15.4）

##Homebrewにてバージョンのupdate
###Homebrewのupdate

```terminal:
brew update
```

###rbevのupdate

```terminal:
brew upgrade rbenv
```

###bundlerのupdate

```terminal:
sudo gem install bundler
```

###インストールできるRubyのバージョンを確認

```terminal:
rbenv install -l
```

###Ruby2.6.5のインストール

```terminal:
rbenv install 2.6.5
```

とここで下記のようなエラー

```terminal:
Downloading openssl-1.1.0j.tar.gz...
-> https://dqw8nmjcqpjn7.cloudfront.net/31bec6c203ce1a8e93d5994f4ed304c63ccf07676118b6634edded12ad1b3246
Installing openssl-1.1.0j...
BUILD FAILED (OS X 10.15.4 using ruby-build 20190130)
Inspect or clean up the working tree at /var/folders/dl/rnnkvz5539g9v70_74jf05480000gn/T/ruby-build.20200421152959.93813
Results logged to /var/folders/dl/rnnkvz5539g9v70_74jf05480000gn/T/ruby-build.20200421152959.93813.log
Last 10 log lines:
BLAKE2_OBJ    =
PROCESSOR     =
RANLIB        =ranlib -c
ARFLAGS       =
PERL          =/usr/bin/perl
SIXTY_FOUR_BIT_LONG mode
Configured for darwin64-x86_64-cc.
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

```

xcode-selectをインストールする必要があるらしい、、、
早速インストール

```terminal:
xcode-select --install
```
再度、Rubyインストール！！

###先ほどインストールしたRubyのバージョンを常に使用するようグローバル設定をする
まずインストールしたか確認

```terminal:
rbenv versions
```

下記のように出てきたらOK

```terminal:
* system (set by /Users/tanaka/.rbenv/version)
　　　　2.6.5
```

そのままグローバル設定

```terminal:
rbenv global 2.6.5
```

先ほどの`rbenv versions`を打つと’*’がsystemから2.6.5に移ってるのが確認できる

```terminal:
　　 system
*　　2.6.5 (set by /Users/tanaka/.rbenv/version)
```

###rbenvにパスを通す

```terminal:
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
```

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

```terminal:
source ~/.bash_profile
```

`which gem`と`which ruby`のコマンドを打ってそれぞれが下記のようになっていたらOK

```terminal:
/Users/自分のパソコンの名前/.rbenv/shims/ruby
```

```terminal:
/Users/自分のパソコンの名前/.rbenv/shims/gem
```

###yernのインストール
Rails6でwebpackerが標準でインストールされるようになりyarnのインストールが必要になった
らしい、、、

```terminal:
brew install yarn
```

###Railsの設定（ファイルごとに）
アプリを置きたい場所に空のディレクトリを作成

```terminal:
mkdir test_app
```

test_appに移動

```terminal:
cd test_app
```

gemfileの設定ファイルを作成

```terminal:test_app
bundle init
```

作成したファイルの一番最後の行のコメントアウトを外す

```terminal:Gemfile
# frozen_string_literal: true

source "https://rubygems.org"

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

# gem "rails"  ←この行のコメントを外す
```

外したら以下のコマンドでgemファイルのインストール

```terminal:test_app
bundle install --path vendor/bundle
```

`bundle exec gem list`のコマンドでインストールされたか確認

```terminal:test_app
省略
・
・
rails (6.0.2.2)
・
・
```

いよいよrails new!!
（コマンドの最後の.は今のディレクトリで、ってことらしい）

```terminal:test_app
bundle exec rails new .
```

そしてサーバーを起動

```terminal:test_app
bundle exec rails s
```

そしてこの画面になったら正常に立ち上がり！！
![スクリーンショット 2020-04-21 18.30.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/349277/bf5e3250-0c86-92aa-653f-62d4b6c209ce.png)


因みにrails5の時の画面↓
![スクリーンショット 2019-10-14 14.32.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/349277/d99c78ee-439a-e882-31ad-e808aecf0f4c.png)

ちょっと変わってて笑うw

###因みにこんなエラーにも遭遇しました。
試しにrubyのグローバル設定を変えた時、先ほど作成したアプリは起動できるのかやってみました。

```terminal:
rbenv global 2.５.１
```

```terminal:test_app
bundle exec rails s
```

すると`2.6.5`のバージョンじゃない！とエラーが出ました。

```terminal:test_app
Your Ruby version is 2.５.１, but your Gemfile specified 2.6.5
```

またバージョンを戻してから再度、起動させようとしたら、またしても同じようなエラーが出ました

```terminal:test_app
Your Ruby version is 2.６.３, but your Gemfile specified 2.6.5
```

こ、これはと思い、グローバル変数を確認`rbenv versions`

```terminal:
　　 system
  2.5.1
*　　2.6.5 (set by /Users/tanaka/.rbenv/version)
```

そんなばかな、、、、ru、、Rubyのバージョンの確認だ、、、、`ruby -v`、、、

```terminal:test_app
ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin19]
```

、、、嘘だろ、、、一体何が、、

調べた結果、先ほど打ったコマンドがなぜか無かったことになっていました

`which gem`と`which ruby`のコマンドをそれぞれもう一度打つと

```terminal:
/usr/bin/gem
```

```terminal:
/usr/bin/ruby
```

となっており、正解は

```terminal:
/.rbenv/shims/gem
```

```terminal:
/.rbenv/shims/ruby
```

こうなってないといけないので再度、rbenvにパスを通す

```terminal:
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
```

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

```terminal:
source ~/.bash_profile
```

そして改めて`rbenv global 2.6.5`を打って`bundle exec rails　s`で起動するとうまく立ち上がった。

なぜrbenvのパスの設定が変わったしまったのか不明、、
参考にした記事
[Rubyのバージョンが切り替わらない時の対処法！](https://qiita.com/opiyo_taku/items/3312a75d5916f6cd32b1)
　
　
　
久しぶりに環境構築したけど、やっぱ時間かかりますね、、
今回は特定の場所にrailsをインストールする方法でしたが、
次回はグローバルにインストールした時のバージョンを書ければと思います。
なんか気になるとこや間違った記述あれば指摘してください！！
それでは！！

##参考文献
[MacでRuby on Rails6の開発環境構築に挑戦！【前編：Rubyのインストールまで】](https://megane.work/mac-ruby-on-rails6-environment-first-part/)
[bundler を使った RubyGems の管理について](https://numb86-tech.hatenablog.com/entry/2018/06/28/142541)
[Mac OS X CatalinaにRuby On Rails6環境を構築](https://sanzo83.hatenablog.com/entry/2019/12/25/214554)
[Rubyのバージョンが切り替わらない時の対処法！](https://qiita.com/opiyo_taku/items/3312a75d5916f6cd32b1)
[bundle install時に--path vendor/bundleを付ける必要性は本当にあるのか、もう一度よく考えてみよう](https://qiita.com/jnchito/items/99b1dbea1767a5095d85)
[ローカルのRubyをなるべく汚さずにRuby on Railsの開発環境を作る](https://webird-programming.tech/archives/194)


はてなブログもやっているので是非！
https://tanagram18.hatenablog.com/