
asdf で Ruby をインストールする
Node.js・Ruby・PHP...いろいろな開発言語のバージョン切り替えを一括管理できる大変便利な env 系ツール、asdf。Node.js に続き、Ruby をインストールしてみます。
環境
- macOS 15.4
- zsh
GitHub から asdf を Clone
公式のおすすめに従って Homebrew で導入します。
❯ brew install asdf
今回はバージョン 0.16.7 がインストールされました。
❯ asdf -v
asdf version 0.16.7
asdf の Shims のパスを追加
~/.zshrc に Shims ディレクトリのパスを追加しておきます。
~/.zshrc
export PATH="${ASDF_DATA_DIR:-$HOME/.asdf}/shims:$PATH"
asdf で Ruby を管理できるようにプラグインをインストール
プラグインの公式リポジトリの案内に従って Ruby のプラグインをインストールします。
❯ asdf plugin add ruby https://github.com/asdf-vm/asdf-ruby.git
# asdf のプラグイン一覧に ruby が追加されたことを確認( nodejs は以前に追加したもの)
❯ 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
...
3.4.0
3.4-dev
3.4.1
3.4.2
3.5-dev
今回は Ruby 3.2.5 をインストールしてみます。
❯ asdf install ruby 3.2.5
と実行したら、以下のエラーがでました。
*** Following extensions are not compiled:
psych:
Could not be configured. It will not be installed.
Check /var/folders/v6/yxz1njnx3rx86228h1kmmhbc0000gn/T/ruby-build.20250414131332.79563.9ER2Az/ruby-3.2.5/ext/psych/mkmf.log for more details.
BUILD FAILED (macOS 15.4 on arm64 using ruby-build 20250409)
Ruby 3.2.0 以降は 3rd パーティライブラリのソースコード同梱が廃止された様子。Ruby のインストールに必要な libyaml を Homebrew でインストールします。
❯ brew install libyaml
# 改めて
❯ asdf install ruby 3.2.5
==> Installed ruby-3.2.5 to /Users/takenorioshima/.asdf/installs/ruby/3.2.5
無事インストールすることができました😃
試しに別のバージョンも入れてみる
Ruby 3.4.2 も追加でインストールして、バージョン切り替えなど試してみましょう。
❯ asdf install ruby 2.7.6
# インストールされたバージョン一覧を確認
❯ asdf list ruby
3.2.5
3.4.2
# グローバルのバージョンを 2.7.6 に指定
❯ asdf set -u ruby 3.2.5
# グローバル設定の確認 - *がついているものがグローバルのバージョン
❯ asdf list ruby
*3.2.5
3.4.2
# ruby -v でも確認
❯ ruby -v
ruby 3.2.5 (2024-07-26 revision 31d0f1a2e7) [arm64-darwin24]
うまくいかない時は?
「あれ、設定した通りにならないな...🤔」な時は、シェルの設定ファイルや asdf の shim が反映されていない場合があります。
# which ruby で確認
❯ which ruby
/usr/bin/ruby
## where ruby で確認
❯ where ruby
/Users/takenorioshima/.asdf/shims/ruby
/usr/bin/ruby
# adsf の shims を更新してみる
❯ asdf reshim
# zsh の設定ファイルを再読込してみる
❯ source ~/.zshrc
# which ruby で再度確認
❯ which ruby
/Users/takenorioshima/.asdf/shims/ruby
などを試してみましょう。