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をインストール(※6分ぐらいかかる)
$ 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分ぐらいかかる、、、
$ 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
##ローカルプロジェクトのみバージョンを変える 上記処理で`rbenv install バージョン`を実行した後、globalではなく`local`でバージョンを指定する。
$ rbenv local 3.0.0
##バージョンが切り替わらない時の対処法 rubyのpathがrbenvを指していない(rubyを直接指定している)場合は、rbenvでバージョンを切り替えても変更されない。
この場合は、rubyのpathをrbenvに変更する必要がある。
$ 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 バージョン
で変更する。
##rvmの削除 rvmは使う必要がないので削除する。特に、rvmのパスが複数の設定ファイルに記述されているため、それらをすべて削除する。
削除していないと、rails s
などrailsコマンドを実行した時に、rvmのパスを優先して参照しようとし、エラーが発生する。
###rvmの削除
$ rvm seppuku
###設定ファイルのrvmの記述削除
以下4つのファイルのrvmに関する記述を削除する。
- ~/.bashrc
- ~/.bash_profile
- ~/.profile
- ~/.zshrc
vim ファイルパス
で該当行をdd
で削除する。
▼削除する記述
[[ -s "$HOME/.rvm/environments/default" ]] && source "$HOME/.rvm/environments/default"
#export PATH="$PATH:$HOME/.rvm/bin"
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*
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*
export PATH="$PATH:$HOME/.rvm/bin"