rbenvでRubyのバージョンを最新安定版にupdate

0pt   2018-11-09 14:25
IT技術情報局

1f389-1.png

はじめに

Rubyのバージョンアップをする際、rbenv使ってるから楽勝だろうと思ったら意外と詰まってしまったので記事に残しておく。
(もっといいやり方やアドバイスがあればコメントや編集リクエストいただけると嬉しいです)

環境

  • MacOS HighSierra
  • Rails 5.1.6
  • Ruby 2.5.1
  • rbenv 1.1.1
  • Homebrew 1.8.2

やりたいこと

プロジェクトで使用しているRubyのバージョンを2.5.1から現時点で最新の2.5.3にupdateしたい。

Ruby 2.5.3 リリース

手順

rbenvのインストール一覧に2.5.3が無い! $ rbenv install --list Available versions: 1.8.5-p52 1.8.5-p113 1.8.5-p114 1.8.5-p115 ---中略--- 2.5.0-dev 2.5.0-preview1 2.5.0-rc1 2.5.0 2.5.1 2.6.0-dev 2.6.0-preview1 2.6.0-preview2

インストールする気満々だった、2.5.3が無い!!

おそらくrbenvをインストールしてから一度もupdateしていないからかな?と思ったのでrbenvのドキュメントを読むことにした。
https://github.com/rbenv/rbenv#upgrading-with-homebrew
この中に

To upgrade to the latest rbenv and update ruby-build with newly released Ruby versions, upgrade the Homebrew packages:
(最新のrbenvにアップグレードし、新しくリリースされたRubyバージョンでruby-buildを更新するには、Homebrewパッケージをアップグレードします。)

$ brew upgrade rbenv ruby-build

とあった。まさにしたかったことだったので実行

$ brew upgrade ruby-build . . . ==> Upgrading 1 outdated package: ruby-build 20180822 -> 20181106 ==> Upgrading ruby-build ==> Downloading https://github.com/rbenv/ruby-build/archive/v20181106.tar.gz ==> Downloading from https://codeload.github.com/rbenv/ruby-build/tar.gz/v20181106 ######################################################################## 100.0% ==> ./install.sh 🍺 /usr/local/Cellar/ruby-build/20181106: 420 files, 212.6KB, built in 6 seconds

成功したので再度インストール可能なバージョンリストを表示してみる

$ rbenv install --list Available versions: 1.8.5-p52 1.8.5-p113 1.8.5-p114 1.8.5-p115 1.8.5-p231 ---中略--- 2.5.0-rc1 2.5.0 2.5.1 2.5.2 2.5.3 <- あった〜〜!!! 2.6.0-dev 2.6.0-preview1 2.6.0-preview2 2.6.0-preview3

きちんと2.5.3も入ってる。

早速installをしていく

rbenvでインストール $ rbenv install 2.5.3 ruby-build: use openssl from homebrew Downloading ruby-2.5.3.tar.bz2... -> https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.3.tar.bz2 Installing ruby-2.5.3... ruby-build: use readline from homebrew Installed ruby-2.5.3 to /Users/user_name/.rbenv/versions/2.5.3

成功ですね 1f389.png?resize=20%2C20&ssl=1

インストールしたバージョンを使用するように設定

まずはrbenvにどんなバージョンがインストールされているか確認

system 2.4.1 * 2.5.1 (set by /Users/user_name/.rbenv/version) 2.5.3
  • 環境全体のRubyバージョンを指定したい場合
$ rbenv global 2.5.3
  • 特定のプロジェクトだけで指定したい場合

    • 以下のコマンドを適用したいプロジェクトで実行
$ rbenv local 2.5.3

今回は特定プロジェクトでのみ2.5.3を使いたかったのでこちらを選択。

もう一度設定を確認

$ rbenv versions system 2.4.1 2.5.1 * 2.5.3 (set by /Users/user_name/dir_name/app/.ruby-version)

きちんと反映されていることがわかる。

bundle installし直す

bundle installをしようとしたらbundleコマンドが見つからないよと怒られた。

$ bundle install rbenv: bundle: command not found The `bundle' command exists in these Ruby versions: 2.4.1 2.5.1

Rubyのバージョンごとにgemをインストールしないといけないらしい。

$ gem install bundler Fetching: bundler-1.17.1.gem (100%) Successfully installed bundler-1.17.1 Parsing documentation for bundler-1.17.1 Installing ri documentation for bundler-1.17.1 Done installing documentation for bundler after 3 seconds 1 gem installed

bundlerのインストールが成功した1f389.png?resize=20%2C20&ssl=1

次にプロジェクトのGemfile

$ bundle install

Rubyのバージョンを最新安定版の2.5.3にupdateして、プロジェクトを動かす準備ができた。

まとめ

バージョン管理ソフトもupdateをしないと最新バージョンは無いんだねという当たり前の発見があった。

Source: ruby tag

   ITアンテナトップページへ
情報処理/ITの話題が沢山。