RailsチュートリアルGemfile編集(３章〜７章）

#はじめに
[Railsチュートリアル](https://railstutorial.jp/)の３章以降を読んで、GemfileとGemfile.lockを更新しました。
１、２章までの環境構築は、[rails new から heroku openまで
](https://qiita.com/saya9875/items/be01c300020a74466ac1)でまとめていますので、ご覧ください。

#Gemfileの更新
チュートリアルで指定されているGemfileを使わず、最低限のみを編集して３章に挑みました。
具体的には、[rails new から heroku openまで
](https://qiita.com/saya9875/items/be01c300020a74466ac1)でまとめている通り、sqlite3とpgを編集しています。

しかしチュートリアル３.6でminitest等が出てくるため、Gemfileに不足していた下記５行を追加することに...

```
  gem 'rails-controller-testing', '1.0.4'
  gem 'minitest',                 '5.11.3'
  gem 'minitest-reporters',       '1.3.8'
  gem 'guard',                    '2.16.2'
  gem 'guard-minitest',           '2.4.6'
```

しかし、これでgit push herokuをやるとエラーが出ました...
「Failed to install gems via Bundler.」

とりあえず下記コマンドを実行

```
% bundle update
```

はい、もちろんエラーです。
１、２章の環境構築の際も上手く行きませんでしたから、当たり前ですね。

調べていくとこちらの記事に辿り着きました。
[bundle install しようとしたら ruby のバージョン違くてコケた話](https://qiita.com/white_aspara25/items/d5e19b82be17048d9215)
記事を参考に下記コマンドを実行しました。

```
% rbenv exec gem install bundler
% rbenv rehash
```
その後に再び下記を実行。

```
% bundle update
```
今回は成功しました🎉

その後もう一度、git push herokuを実行すると、
デプロイ成功です！！
１、２章の環境構築から上記コマンドを実行していれば良かったのかなと少し後悔中...

#Gemfile.lock
ちなみに今回の取組前後でGemfile.lockを比べて見ると、かなり違いがあることが判明しました。
差分が分かるように左に変更前、右に変更後のファイルを置いて比較しました。
![スクリーンショット 2020-11-10 22.17.13（2）.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/771363/a6ca6e48-94c2-0d34-d4d6-0a09285fe79f.png)
![スクリーンショット 2020-11-10 22.17.34（2）.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/771363/e7a07afe-d01b-4dfa-a3e6-e23b42edc679.png)
![スクリーンショット 2020-11-10 22.17.43（2）.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/771363/a4ef5e51-1d9f-29fd-b32c-605c74e9486a.png)
![スクリーンショット 2020-11-10 22.17.51（2）.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/771363/17243339-1ea7-807b-f2b2-d9ae20e3aaa3.png)
![スクリーンショット 2020-11-10 22.18.00（2）.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/771363/ed76fcd8-d5eb-3bcd-550f-0d82a3c7e554.png)
![スクリーンショット 2020-11-10 22.18.10（2）.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/771363/189e1c72-7882-75be-01d8-933afb1856f8.png)

これだけGemfile.lockのデータが違うとは...
bundlerのバージョンについては下記記事を参考にしました。

[RailsをHerokuにデプロイするときのBundlerバージョン（2020年版）](https://techracho.bpsinc.jp/hachi8833/2020_04_09/90793)

#５章
４章では上記のGemfileで問題は起きませんでした。

５章ではGemfileにbootstrap-sassの追加が必要になりました。
[Railsチュートリアル](https://railstutorial.jp/)５章のリスト5.5の通りに、Gemfileに

```
gem 'bootstrap-sass', '3.4.1'
```

を追加し、

```
% bundle install
```

を実行。
無事インストールできました！

#６章
６章ではGemfileにbcryptの追加が必要になります。
５章と同じように下記一行をGemfileへ追加し、bundle installを行いました。

```
gem 'bcrypt', '3.1.13'
```

```
% bundle install
```

無事インストールできました！

#７章
７章ではGemfileのbyebugを使いますが、現段階で私のGemfileは下記のようになっています。

```
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
```
バージョンが固定されていないので、下記のように書き足しました。

```
gem 'byebug', '11.0.1', platforms: [:mri, :mingw, :x64_mingw]
```
そして

```
% bundle install
```

無事インストールできました！


７章の7.5で、`config/puma.rb`や`config/database.yml`のファイル変更がありますが、チュートリアルと一切同じにするのではなくて最低限のみ合わせました。
とりあえずはこれでエラーなしでした。
※[チュートリアル](https://railstutorial.jp/)のファイルは公式からご覧ください。
![スクリーンショット 2020-11-18 22.54.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/771363/3d004a20-181e-cc51-d661-a2cf171ddd34.png)

![スクリーンショット 2020-11-18 22.52.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/771363/a3cc3c2e-9452-3adc-b609-dd03b74897b4.png)

※８章以降も随時更新していきます！