はじめに
タイトルにもあるように基本的に今Rubyを勉強していて、
Rubyのバージョンの挙げ方がわからないorどうやるっけ?って人向けです。
動作確認環境
- MacOS Mojave 10.14.6
- Ruby 2.6.4
- rbenv 1.1.2
- Homebrew 2.1.11
注意事項
今回はあくまでもMacで利用するGlobalバージョンを最新に保つ方法です。
各々のプロジェクトで反映させる場合は、この内容と合わせて
.ruby-vesion
ファイルがあれば適宜変更してください。
なぜバージョンを上げないといけないか
Ruby自体に脆弱性問題があり、それが修正されたためです。
プロジェクトのセキュリティを保つためにも1つ前のバージョンを利用している場合は
必ず実行するようにしてください。
(2.5系,2.4系もセキュリティアップデートが入ってます)
詳細は以下リンクを参照してください。
Ruby2.6.5リリース
作業手順
手始めにまずはrbenv
の現在のバージョンで最新のものがあるか確認してみましょう。
$ rbenv install -list
(略)
2.6.0-dev
2.6.0-preview1
2.6.0-preview2
2.6.0-preview3
2.6.0-rc1
2.6.0-rc2
2.6.0
2.6.1
2.6.2
2.6.3
2.6.4
2.7.0-dev
2.7.0-preview1
(略)
この状態ではまだ2.6.5
のバージョンがないことがわかります。
次に、rbenv
とruby-buid
をアップグレードします。
リファレンス
$ brew upgrade rbenv ruby-build
Error: rbenv 1.1.2 already installed
==> Upgrading 1 outdated package:
ruby-build 20190828 -> 20191004
==> Upgrading ruby-build
==> Downloading https://github.com/rbenv/ruby-build/archive/v20191004.tar.gz
==> Downloading from https://codeload.github.com/rbenv/ruby-build/tar.gz/v20191004
######################################################################## 100.0%
==> ./install.sh
🍺 /usr/local/Cellar/ruby-build/20191004: 459 files, 229.8KB, built in 10 seconds
rbenvは最新だったようでエラーを吐いてますが
ruby-buildは修正されていたのでアップグレードが完了しました。
それではもう一度rbenvのバージョンリストを確認します。
$ rbenv install -list
2.6.0-rc1
2.6.0-rc2
2.6.0
2.6.1
2.6.2
2.6.3
2.6.4
2.6.5 // New!
2.7.0-dev
2.7.0-preview1
めでたく2.6.5が表示されたので、早速インストール開始。
$ rbenv install 2.6.5
ruby-build: using openssl from homebrew
Downloading ruby-2.6.5.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.5.tar.bz2
Installing ruby-2.6.5...
ruby-build: using readline from homebrew
Installed ruby-2.6.5 to /Users/yucky/.rbenv/versions/2.6.5
ちなみに、今回は5分くらいインストールに時間かかりました
(下り120Mbpsでした)
回線状況なども影響するので、なるべく快適な回線下で作業することをお勧めします。
念の為バージョン確認。
$ rbenv versions
system
2.5.1
2.5.3
2.6.3
* 2.6.4 (set by /Users/user/.rbenv/version)
2.6.5 <=追加されてる
システムに2.6.5を反映。
$ rbenv global 2.6.5
そしてもう一度確認
$ rbenv versions
system
2.5.1
2.5.3
2.6.3
2.6.4
* 2.6.5 (set by /Users/user/.rbenv/version)
これでMacでのRubyのシステムバージョンが最新の2.6.5に設定されました
仮に開発しているプロジェクトがあれば、
合わせてbundler
などが最新のRubyバージョンに対応しているか確認もしておきましょう。
最後に
どんなプロジェクトでも脆弱性を突かれて攻撃される可能性が往往にしてあります。
言語のサポートでセキュリティ関連の改善がされた場合はすぐに対応することで
自らのプロジェクトに対するセキュリティを高めていきましょう。