Rubyの最新のバージョンをインストールしようとしたらrbenvとanyenvにぶつかった

# 出発点
「プロを目指す人のためのRuby入門」が、「Macに標準搭載されているRubyは最新ではないので、アップデートした方がいいよ」と仰るので素直に従うことに。irbで日本語が化けてしまう症状にもこれが効くそうです。

**Rubyの最新版のインストールにはrbenvというのがイケてるらしい。
そのrbenvをインストールするには、anyenvがいいらしい。**

言語のインストールってサクッと終わる話かと思いきや、意外に階層が..。
そしてややハマったのでメモ...。

**rbenvとは？**
冷静になると、Ruby environmentと読めます。Rubyの環境設定ツール。

**[anyenv](https://github.com/anyenv/anyenv)とは？**
同じ容量で、Any environmentと読めます。rbenvだけでなく他の言語の環境設定ツールもまとめて管理してくれるツールだそうな。

#始める前に作業環境の確認
MacBook Pro 13 2020
macOS Catalina 1O.15.7

# 1. [anyenv](https://github.com/anyenv/anyenv)をインストール
Rubyをインストールするrbenvをインストールするanyenvをインストールします。Homebrew、GitHubの２パターンがあります。

## Homebrewの場合

### 1) anyenvをインストール 

```terminal
$ brew install anyenv
```

### 2) シェルにanyenvをセットアップ
**シェルとは？**
CUIとかCLIとか呼ばれるやつ。Macではターミナルとも呼び、bashだのzshだのがある。

```
$ anyenv init
```
**initとは？**
initialize（初期化）の意味。

###3) ターミナルを再起動
エラーメッセージが出なければOK。

## Gitの場合
自分はこれはやっていないので、こちらの[GitHub](https://github.com/anyenv/anyenv)をご参照。

### 4)manifest directoryを初期化する
manifest directoryとは？（調査中。汗）

下記メッセージが出たら、`y`と回答しEnter。

```
$ anyenv install --init
Manifest directory doesn't exist: /Users/kakudaisuke/.config/anyenv/anyenv-install
Do you want to checkout ? [y/N]: y
```

これで、anyenvのインストールは終了！

# 2. rbenvをインストール
###1) 下記コマンドでanyenvでインストールできるリストが見られます。
そこにrbenvも出てくるはず。

```
$ anyenv install -l
  Renv
  crenv
  denv
  erlenv
  exenv
  goenv
  hsenv
  jenv
  jlenv
  luaenv
  nodenv
  phpenv
  plenv
  pyenv
  rbenv
  sbtenv
  scalaenv
  swiftenv
  tfenv
```

### 2) rbenvをインストール
Rubyをインストールするrbenvをanyenvでインストールします。

```
$ anyenv install rbenv
/var/folders/zq/lzp3d6kd2h1_00b25knb8tyr0000gn/T/rbenv.20210114135021.64582 ~
Cloning https://github.com/rbenv/rbenv.git master to rbenv...
Cloning into 'rbenv'...
remote: Enumerating objects: 10, done.
remote: Counting objects: 100% (10/10), done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 2878 (delta 3), reused 2 (delta 0), pack-reused 2868
Receiving objects: 100% (2878/2878), 562.74 KiB | 748.00 KiB/s, done.
Resolving deltas: 100% (1795/1795), done.
~
~/.anyenv/envs/rbenv/plugins ~
Cloning https://github.com/rbenv/ruby-build.git master to ruby-build...
Cloning into 'ruby-build'...
remote: Enumerating objects: 7, done.
remote: Counting objects: 100% (7/7), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 11314 (delta 0), reused 2 (delta 0), pack-reused 11307
Receiving objects: 100% (11314/11314), 2.40 MiB | 1.83 MiB/s, done.
Resolving deltas: 100% (7467/7467), done.
~

Install rbenv succeeded!
```
成功したようです。

### 3) シェル（ターミナル）を再起動
これをしないとせっかくインストールした内容がシェルに設定されないようです。

```
$ exec $SHELL -l
```
これでrbenvのインストールが完了しました！
下記コマンドでバージョンが表示されればOKです。

```terminal:
rbenv -v
````

### 4) `commande not found: rbenv`の場合
3)で`commande not found: rbenv`になった場合は、パスが通っていないことが原因と考えられますので、こちらの[Qiita記事](https://qiita.com/282Haniwa/items/71a48a10952413416d18#path%E3%82%92%E9%80%9A%E3%81%99)を参照すると良いです。

**パスが通っていないとは？**
シェル様（ターミナルの主）に新しくインストールしたソフトの「転入届」が未提出である状態。

# 3. Rubyをインストール

いよいよ、rbenvを使用して自分の欲しいバージョンを指定してインストールしましょう。

```
rbenv install X.X.X
```

irbで日本語もきちんと表示されるようになりました。
めでたしめでたし。

4. anyenvのプラグイン
2022/02/07追記

Ruby 3.1.0をインストールしようとしたら、

```
~/dev/fusician.rb on  develop via 💎 on ☁️  (ap-northeast-1) took 2s
❯ be ruby fusician.rb -- role テストエンジニア
rbenv: version `3.1.0' is not installed (set by /Users/kakudaisuke/dev/fusician.rb/.ruby-version)
```

```
~/dev/fusician.rb on  develop via 💎 on ☁️  (ap-northeast-1)
❯ rbenv install --list
2.5.8
QUERY> anye                                                                                                                                                                                                                                                 IgnoreCase [1 (1/1)]
anyenv versions
2.6.6
2.7.2
3.0.0
jruby-9.2.14.0
```

```
~/dev/fusician.rb on  develop via 💎 on ☁️  (ap-northeast-1)
❯ rbenv install 3.1
ruby-build: definition not found: 3.1

The following versions contain `3.1' in the name:
  2.3.1
  3.1.0-dev
  rbx-3.1
```

```
~/dev/fusician.rb on  develop via 💎 on ☁️  (ap-northeast-1)
❯ brew upgrade rbenv ruby-build
Running `brew update --preinstall`...
==> Auto-updated Homebrew!
Updated 3 taps (homebrew/core, homebrew/cask and homebrew/cask-fonts).
==> Updated Formulae
Updated 154 formulae.
==> New Casks
imagex                                                                          inkstitch                                                                       trex
==> Updated Casks
Updated 125 casks.

Error: rbenv not installed
Error: ruby-build not installed
```

```
~ on ☁️  (ap-northeast-1)
❯ rbenv -v
rbenv 1.1.2-40-g62d7798

~ on ☁️  (ap-northeast-1)
❯ anyenv -v
anyenv 1.1.2-1-g67d402f
```

anyenv-updateというanyenvのプラグインを入れます。

```
$ mkdir -p $(anyenv root)/plugins
$ git clone https://github.com/znz/anyenv-update.git $(anyenv root)/plugins/anyenv-update
```

```
❯ anyenv update
```

```
❯ rbenv install 3.1.0
```


#最後に
教えてくれた先輩方に大感謝。
もしご指摘などあれば、バシバシお願い申し上げます！