ただMacのターミナルでRubyとRailsを最新バージョンにしたかっただけなのに。。

## はじめに
久々に簡単なアプリを作成しようとして、(作成前ついでにRubyをRailsのバージョンを最新にしておくか)と軽い気持ちでバージョンアップを試みたら思いのほか詰まったので備忘録として残しておこうと思います。

バージョンアップの流れとしては
**1.Homebrewとrbenvのアップデート**
**2.Rubyのアップデート**
**3.Railsのアップデート**
という感じです。早速やっていきましょう。


## 1.Homebrewとrbenvのアップデート
アップデートするコマンドの流れはこちら
```
$ brew update  # Homebrewをアップデートする
$ brew upgrade rbenv && brew upgrade ruby-build
```
まずターミナルにて``brew update``を実行します。すると早速エラーが
![スクリーンショット 2022-09-17 11.18.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1089852/2fe0d60d-cf61-00ff-8ce0-bf2bcbb49b61.png)
下記を実行すれば良いみたいなので実行
```
$ git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow
```
これで``brew update``を実行してもまだ同じエラーが出たのでもう一回同じコマンドを実行
```
$ git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow
```
この後に通常通り最初に記述したコマンドを実行したら正常にアップデートされました。
```
$ brew update  # Homebrewをアップデートする
$ brew upgrade rbenv && brew upgrade ruby-build
```

## 2.Rubyのアップデート
続いてRubyのアップデートについて。ここでも軽く詰まりました笑
まずはRubyのバージョン確認から
```
$ ruby -v
ruby 2.6.8p205 (2021-07-07 revision 67951) [universal.x86_64-darwin21]
```
バージョンは2.6.8？みたい。続いてどのバージョンにアップデートできるのか確認するために下記コマンドで確認します。

```
$ rbenv install --list
2.6.10
2.7.6
3.0.4
3.1.2
jruby-9.3.7.0
mruby-3.1.0
picoruby-3.0.0
rbx-5.0
truffleruby-22.2.0
truffleruby+graalvm-22.2.0
```
今回は最新バージョンの``3.1.2``に上げたいと思います。
Rubyバージョンアップのため下記コマンドを実行
```
$ rbenv install 3.1.2
```
正常にインストールできているか確認のため``rbenv versions``を実行して確認してみます。

```
$ rbenv versions  # インストール済のRubyのバージョン一覧
* system
  3.1.2
```
どうやらインストールはできているが、システム全体として使用する為にバージョンの指定をしてsetする必要があるみたいです。よって以下のコマンドを実行します。
```
$ rbenv global 3.1.2
$ rbenv versions
system
* 3.1.2 (set by /Users/(ユーザー名)/.rbenv/version)
```
これで正常にインストールされ、最新バージョンをセットできていたと思っていたのですが、これが上手くできていないのが後々発覚します笑

## 3.Railsのアップデート
この後またエラーが発覚することになるのですが、取り敢えずRailsのインストールを進めました。
Railsをアップデートするコマンドの流れはこちら
```
$ gem install bundler  # Bundlerのインストール
$ gem install rails  # Railsのインストール
$ rails -v  # Railsのバージョン確認
```
この流れでRailsをアップデートしようとしたら``gem install rails``を実行した際に以下のエラーが。。

![スクリーンショット 2022-09-18 8.32.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1089852/ad8e677d-7de5-4538-494b-36c82f9251c6.png)
```
ERROR:  Error installing rails:
	There are no versions of activesupport (= 7.0.4) compatible with your Ruby & RubyGems. Maybe try installing an older version of the gem you're looking for?
	activesupport requires Ruby version >= 2.7.0. The current ruby version is 2.6.8.205.
```

(ん？Rubyのバージョンが2.6.8のまま変わってないだと？）
一旦バージョンを確認してみます。

```
$ rbenv versions
system
* 3.1.2 (set by /Users/(ユーザー名)/.rbenv/version)
```
(うん、問題なさそう。)``ruby -v``でも確認してみよう。

```
$ ruby -v
ruby 2.6.8p205 (2021-07-07 revision 67951) [universal.x86_64-darwin21]
```
(ん？変わってないだと！？なんで？？)
バージョンが異なる問題が発生しました笑

しょうがないから公式読もう

https://github.com/rbenv/rbenv

https://ruby.studio-kingdom.com/rbenv/guides/installation

これらによるとrbenv初期化コマンド ``rbenv init``をbash_profileに追加し、bash_profileを再読み込み。そしてまた``rbenv global``でシステム全体で使用できるようセットすると``ruby -v``で更新できたバージョンになるみたい。

なので以下の一覧のコマンドを実行。

```
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile #rbenv initを仕込む
$ source ~/.bash_profile #bash_profileを再読み込み
$ rbenv global 3.1.2 #今回は3.1.2
```
よし、準備は整った。**よろしくお願いします！！(Enterキー叩く)**
```
$ ruby -v
ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-darwin21]
```
**無事にバージョン更新ができているみたいです！**

やっとRailsのアップデートに戻って来れました。再度以下コマンドを実行します。

```
$ gem install rails  # Railsのインストール

Successfully installed rails-7.0.4
Parsing documentation for rails-7.0.4
Done installing documentation for rails after 0 seconds
1 gem installed

$ rails -v  # Railsのバージョン確認
Rails 5.2.6
```

(ん？正常にインストールできているのにバージョンが更新されていない。。なぜ！？)
またもや問題が。。

調べてみるとなんかRails本体がある？ディレクトリにいなかったみたいです ``which rails``で場所を確認し移動します。

```
$ which rails
/Users/(ユーザー名)/.rbenv/shims/rails #ここで表示されているのをそのままコピー
$ cd /Users/(ユーザー名)/.rbenv/shims/rails #Rails本体があるディレクトリに移動
$ rails -v  # Railsのバージョン確認
Rails 7.0.4
```

**無事更新できているみたいです！！**

最後にRails newで確認してみます。

```
$ rails new sample_app
```
Rails newで作成されたappのGemfaileを確認します。
```bash:Gemfile
ruby "3.1.2"

# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main"
gem "rails", "~> 7.0.4"
```

無事Ruby、Rails共に最新バージョンで作成できてそうですね！

参考

https://qiita.com/seijMAN/items/ac363f6688c72f4ea186

## あとがき
いかがだったでしょうか？ついでにバージョンアップしとくかくらいの軽いノリで始めたのに意外と詰まりましたね笑 同じことをされる方の少しでも参考になれば幸いです。

最後までご覧いただき本当にありがとうございました！！

Twitterでも日頃の業務で思ったことを呟いていくのでご覧いただけると幸いです。
[@mokio_50](https://twitter.com/mokio_50)