Cover Image for asdf で Ruby をインストールする

asdf で Ruby をインストールする

  

Node.js・Ruby・PHP...いろいろな開発言語のバージョン切り替えを一括管理できる大変便利な env 系ツール、asdf。Node.js に続き、Ruby をインストールしてみます。

環境

  • macOS 13.1
  • zsh

GitHub から asdf を Clone

Homebrew 経由でも導入できますが、公式のおすすめに従ってgit cloneで導入します。現時点での最新リリースのタグ v0.11.0 を指定しています。

git clone https://github.com/asdf-vm/asdf.git ~/.asdf -b v0.11.0

asdf の読み込み

~/.zshrc に以下コマンドを追加します。fig を使っている場合は Dotfiles > Scripts に追加すると、一元管理できて良い感じがします。

. $HOME/.asdf/asdf.sh

設定ファイルを再読み込みして、asdf のバージョンを確認してみます。

# .zshrc に追加した場合
source .zshrc
❯ asdf version
  v0.11.0-6a4f51a
# fig の Scripts に追加した場合
❯ fig source
❯ asdf version
  v0.11.0-6a4f51a

asdf で Ruby を管理できるようにプラグインをインストール

プラグインの公式リポジトリの案内に従って Ruby のプラグインをインストールします。

❯ asdf plugin add ruby https://github.com/asdf-vm/asdf-ruby.git

# asdf のプラグイン一覧に ruby が追加されたことを確認
❯ asdf plugin list
nodejs
ruby

インストール可能なバージョンのリストを確認

asdf list-all [プラグイン名]でインストール可能なバージョンの一覧が確認できます。

❯ asdf list-all ruby
1.8.5-p52
1.8.5-p113
1.8.5-p114
1.8.5-p115
1.8.5-p231
1.8.6
...
3.1.2
3.1.3
3.2.0-dev
3.2.0-preview1
3.2.0-preview2
3.2.0-preview3
3.2.0-rc1
3.2.0

今回は Ruby 3.0.4 をインストールしてみます。

❯ asdf install ruby 3.0.4

# グローバルのバージョンを 3.0.4 に指定
❯ asdf global ruby 3.0.4

# 確認
❯ ruby -v
ruby 3.0.4p208 (2022-04-12 revision 3fa771dded) [arm64-darwin22]

無事、指定したバージョンのインストールを行うことができました。

試しに別のバージョンも入れてみる

Ruby 2.7.6 も追加でインストールして、バージョン切り替えなど試してみましょう。

❯ asdf install ruby 2.7.6

# インストールされたバージョン一覧を確認
❯ asdf list ruby
  2.7.6
 *3.0.4

# グローバルのバージョンを 2.7.6 に指定
❯ asdf global ruby 2.7.6

# グローバル設定の確認 - *がついているものがグローバルのバージョン
❯ asdf list ruby
 *2.7.6
  3.0.4

# ruby -v でも確認
❯ ruby -v
ruby 2.7.6p219 (2022-04-12 revision c9c2245c0a) [arm64-darwin22]

うまくいかない時は?

「あれ、設定した通りにならないな...🤔」な時は、シェルの設定ファイルや asdf の shim が反映されていない場合があります。

# adsf の shims を更新
❯ asdf reshim

# shell の設定ファイルを再読込
source ~/.zshrc

# fig なら
❯ fig source

などを試してみましょう。