【rails】新しいバージョンのRuby on Rails環境を用意した。

アプリケーションを作るため、新しいバージョンのRuby on Railsが必要になり、ローカル環境に用意した。
（既存アプリに影響を与えないことを条件とした）

||Ruby|Rails|
|:-:|:----:|:-----:|
|必要なバージョン|2.7.1|6.0.3|
|既存のバージョン|2.5.1|5.0.7.2|

### 参考
https://qiita.com/pharma_tech3/items/2ab578eb5b07ff0ca296

### 環境構築方法

##### rails 6.0.3の導入

```console:terminal
$ gem install rails -v 6.0.3
$ rails _6.0.3_ new linebot -d mysql
       ...
* bin/rake: Spring inserted
* bin/rails: Spring inserted
       rails  webpacker:install
sh: node: command not found
sh: nodejs: command not found
Node.js not installed. Please download and install Node.js https://nodejs.org/en/download/
```

途中で``` webpackage install``` が実行されたときに、``` node.js ```がないとのメッセージが出ている。

node.jsをインストールする。

```console:terminal
$ brew install node

$ node -v   
v14.2.0
```
再度```rails webpacker:install```を実行する。

```console:terminal
$ rails webpacker:install
Yarn not installed. Please download and install Yarn from https://yarnpkg.com/lang/en/docs/install/
```
今度は、yarnがインストールされていないからダウンロードしてインストールしてね。とのこと

```console:terminal
$ brew install yarn

$ yarn -v
1.22.4
```

``` yarn ```がインストールされた。

```console:terminal
$ rails webpacker:install
   ...
✨  Done in 6.92s.
Webpacker successfully installed 🎉 🍰
```
``` Webpacker ```のインストールが成功した。

```console:terminal
$ cd linebot
$ rails -v
Rails 6.0.3
```

railsの新しいバージョンが使えるようになった。

新しいプロジェクトを作成する。

```console:terminal
$ rails _6.0.3_ new linebot -d mysql

$ cd linebot
```

##### Ruby 2.7.1の導入

Ruby 2.7.1をインストールするコマンドを実行する。

```console:terminal
$ rbenv install 2.7.1
ruby-build: definition not found: 2.7.1

See all available versions with `rbenv install --list'.

If the version you need is missing, try upgrading ruby-build:

  brew update && brew upgrade ruby-build

```

``` brew update ```と``` brew upgrade ruby-build ```　を実行してね。とのこと

インストール可能なリストを確認する。

```console:terminal
$ rbenv install -l
   ...
2.6.4
2.6.5
2.7.0-dev
2.7.0-preview1
2.7.0-preview2
2.7.0-preview3
2.7.0-rc1
2.7.0-rc2
jruby-1.5.6
jruby-1.6.3
   ...
```

インストール可能なリストの中に、2.7.1がない。

``` console:terminal
$ brew update            
Already up-to-date.
```
``` console:terminal
$ brew upgrade ruby-build
==> Upgrading 1 outdated package:
ruby-build 20191223 -> 20200401
...
==> Caveats
==> ruby-build
ruby-build installs a non-Homebrew OpenSSL for each Ruby version installed and these are never upgraded.

To link Rubies to Homebrew's OpenSSL 1.1 (which is upgraded) add the following
to your ~/.zshrc:
  export RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix openssl@1.1)"

Note: this may interfere with building old versions of Ruby (e.g <2.4) that use
OpenSSL <1.1.
```

インストール可能なリストの中に、2.7.1出現した。

``` console:terminal
$ rbenv install -l
   ...
2.7.0-preview3
2.7.0-rc1
2.7.0-rc2
2.7.0
2.7.1
2.8.0-dev
jruby-1.5.6
jruby-1.6.3
   ...
```

バージョンを指定してインストールする。

``` console:terminal
$ rbenv install 2.7.1    
Downloading openssl-1.1.1d.tar.gz...
-> https://dqw8nmjcqpjn7.cloudfront.net/1e3a91bc1f9dfce01af26026f856e064eab4c8ee0a8f457b5ae30b40b8b711f2
Installing openssl-1.1.1d...
Installed openssl-1.1.1d to /Users/Taiti/.rbenv/versions/2.7.1

Downloading ruby-2.7.1.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.1.tar.bz2
Installing ruby-2.7.1...
ruby-build: using readline from homebrew
Installed ruby-2.7.1 to /Users/Taiti/.rbenv/versions/2.7.1
```

プロジェクトフォルダ内のみ、バージョン2.7.1を適用する。

```
$ rbenv local 2.7.1
$ rbenv rehash
$ ruby -v          
ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin19]
```

完了