【Ruby】rbenvのインストールと設定手順｜Rubyのバージョンを上げる方法（mac）：install Installing openssl-1.1.1j.. で止まる時の対処法。

Rubyでバージョンを上げる方法について。

現在インストールされているバージョン2.7.0を最新の安定版3.0.0に切り替える手順。


##概要

- **rubyの複数のバージョンを管理する`rbenv`を使う**。
- rbenvで最新の安定版を呼び出すが、その際に、**rbenv自体が最新にアップデートされている必要がある**。
- rbenvのアップデートはhomebrewで行う。
- homebrewはmacのパッケージ管理ツール。
- なので、最初にhomebrew自体をアップデートしておく。

**▼作業の流れ**
homeberwのアップデート -> rbenvのアップデート -> rubyの安定版バージョン確認 -> 最新の安定版インストール -> 最新の安定版に切り替え。


##手順

```
#homebrewをアップデート
$ brew update

#rbenvをアップデート
$ brew upgrade rbenv ruby-build

#現在インストール済みのrubyバージョンを確認
$ ruby versions
system
2.7.1

#現在使用中のバージョンを確認
$ rbenv version
rbenv: version `ruby-2.7.0'

#現在の安定版のバージョンを確認
$ rbenv install -l
2.5.8
2.6.6
2.7.2
3.0.0

#3.0.0をインストール（※６分ぐらいかかる）
$ rbenv install 3.0.0

#バージョンを切り替え
$ rbenv global 3.0.0

#現在使用注のバージョンを確認
$ rbenv versions
```


##注意点！！！
rubyの**インストールが始まるまでに3分ぐらいかかる**。

以下の状態で、長時間ストップするが、放置しておけばOK。時間が経過すると動き出す。

```:この状態で数分間放置
$ rbenv install 3.0.0
Downloading openssl-1.1.1j.tar.gz...
-> https://dqw8nmjcqpjn7.cloudfront.net/aaf2fcb575cdf6491b98ab4829abf78a3dec8402b8b81efc8f23c00d443981bf
Installing openssl-1.1.1j...
```

**インストールが完了するまでには6分ぐらいかかる**、、、

<br>

```:インストール完了
$ rbenv install 3.0.0
Downloading openssl-1.1.1j.tar.gz...
-> https://dqw8nmjcqpjn7.cloudfront.net/aaf2fcb575cdf6491b98ab4829abf78a3dec8402b8b81efc8f23c00d443981bf
Installing openssl-1.1.1j...
Installed openssl-1.1.1j to /Users/.rbenv/versions/3.0.0

Downloading ruby-3.0.0.tar.gz...
-> https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.0.tar.gz
Installing ruby-3.0.0...
ruby-build: using readline from homebrew
Installed ruby-3.0.0 to /Users/.rbenv/versions/3.0.0
```


<br>
##ローカルプロジェクトのみバージョンを変える
上記処理で`rbenv install バージョン`を実行した後、globalではなく`local`でバージョンを指定する。

```
$ rbenv local 3.0.0
```



<br>
##バージョンが切り替わらない時の対処法
rubyのpathがrbenvを指していない（rubyを直接指定している）場合は、rbenvでバージョンを切り替えても変更されない。

この場合は、rubyのpathをrbenvに変更する必要がある。

```:rubyのパスを確認
$ which ruby
/Users/.rvm/rubies/ruby-2.7.0/bin/ruby
```

現在だと、`.rvm`配下になっているが、これが`.rbenv`配下になる必要がある。

↓

```
$ rbenv init
# Load rbenv automatically by appending
# the following to ~/.bash_profile:

eval "$(rbenv init -)"

#指定された内容を書き込む
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

#.bash_profileの変更内容を反映
$ source ~/.bash_profile

#pathの確認
$ which ruby
/Users/.rbenv/shims/ruby

#バージョンの確認
$ rbenv versions
  system
  2.7.0
  2.7.1
* 3.0.0
```

`global`で変更が効かない場合は、localで個別に設定されている可能性があるので、`rbenv local バージョン`で変更する。



<br>
##rvmの削除
rvmは使う必要がないので削除する。特に、rvmのパスが複数の設定ファイルに記述されているため、それらをすべて削除する。

削除していないと、`rails s`などrailsコマンドを実行した時に、rvmのパスを優先して参照しようとし、エラーが発生する。

###rvmの削除

```:rvmの削除
$ rvm seppuku
```

###設定ファイルのrvmの記述削除
以下４つのファイルのrvmに関する記述を削除する。

1. ~/.bashrc
2. ~/.bash_profile
3. ~/.profile
3. ~/.zshrc


`vim ファイルパス`で該当行を`dd`で削除する。
▼削除する記述

```~/.bashrc
[[ -s "$HOME/.rvm/environments/default" ]] && source "$HOME/.rvm/environments/default"
#export PATH="$PATH:$HOME/.rvm/bin"
```
```~/.bash_profile
export PATH="$PATH:$HOME/.rvm/bin"
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
```
```~/.profile
export PATH="$PATH:$HOME/.rvm/bin"
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
```
```~/.zshrc
export PATH="$PATH:$HOME/.rvm/bin"
```