1
0

More than 1 year has passed since last update.

rbenv install --listで最新版Rubyが表示されないときの対処法(Mac版)

Last updated at Posted at 2023-07-30

はじめに

パッケージマネージャー(この記事ではHomebrew)を使用してrbenvをインストールした場合、パッケージマネージャーを使用してアップグレードしましょう。間違ってもGitHubからクローンしてくるやり方との併用は避けてください!! 

  • git cloneと併用してしまった場合
    自分の場合、Homebrewgit cloneを併用してrbenvをインストールしてしまったため問題が発生し、結果的にrbenvをアンインストール→インストールすることになりました。この記事はその経緯を書いた記事です。

  • git cloneと併用してない場合
    rbenvruby-buildHomebrewでアップグレードしたにも関わらずリストに表示されない場合、rbenvのセットアップに何かしらの問題が発生してる可能性があるのでrbenv-doctorを実行してみてましょう。エラーメッセージに従い対処すれば解決できると思います。本記事はgit cloneと併用してしまった人向けに書いた記事です。

$ curl -fsSL https://github.com/rbenv/rbenv-installer/raw/main/bin/rbenv-doctor | bash

1.問題発生した経緯

※ Homebrewは最新版にアップグレードしてから進めています

最初、ターミナルには(執筆時点の)最新安定版3.2.2が表示されませんでした。

~ $ rbenv install --list
2.5.8
2.6.6
2.7.2
3.0.0
jruby-9.2.16.0
mruby-2.1.2
rbx-5.0
truffleruby-21.0.0
truffleruby+graalvm-21.0.0

Only latest stable releases for each Ruby implementation are shown.
Use 'rbenv install --list-all / -L' to show all local versions.

rbenvruby-buildのバージョンが古いのか?」と思いHomebrewを使いアップグレード、しかしどちらも既にインストール済みと表示されました。↓

~ $ brew upgrade rbenv ruby-build
==> Downloading https://formulae.brew.sh/api/formula.jws.json
##################################################################### 100.0%
==> Downloading https://formulae.brew.sh/api/cask.jws.json
##################################################################### 100.0%
Warning: rbenv 1.2.0 already installed
Warning: ruby-build 20230717 already installed

念の為もう一度リスト表示するがやっぱり表示されません。↓

 ~ $ rbenv install --list         
2.5.8
2.6.6
2.7.2
3.0.0
jruby-9.2.16.0
mruby-2.1.2
rbx-5.0
truffleruby-21.0.0
truffleruby+graalvm-21.0.0

Only latest stable releases for each Ruby implementation are shown.
Use 'rbenv install --list-all / -L' to show all local versions.

そこでrbenvが最新なのに、最新のRubyバージョンをインストールできない場合 - Qiitaを参考にして下のコマンドを実行しました。これが後々問題を起こします

※ 冒頭でも言いましたがHomebrewでrbenvのインストールをした場合、絶対に実行しないほうがいいです。

$ git clone https://github.com/sstephenson/rbenv.git .rbenv
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

一応リストに3.2.2が表示されるようになりました

~ $ rbenv install --list
3.0.6
3.1.4
3.2.2
jruby-9.4.3.0
mruby-3.2.0
picoruby-3.0.0
truffleruby-23.0.0
truffleruby+graalvm-23.0.0

Only latest stable releases for each Ruby implementation are shown.
Use 'rbenv install --list-all / -L' to show all local versions.

しかしrbenv-doctorを実行してみると問題が起きているのが分かりました。

 ~ $ curl -fsSL https://github.com/rbenv/rbenv-installer/raw/main/bin/rbenv-doctor | bash
Checking for `rbenv' in PATH: /usr/local/bin/rbenv 
Checking for rbenv shims in PATH: OK 
Checking `rbenv install' support: multiple #`git clone`してしまっためrbenvが複数インストールされてしまった
  
  You seem to have multiple `rbenv-install' in the following locations.
  Please pick just one installation and remove the others.
  
  /Users/username/.rbenv/plugins/ruby-build/bin/rbenv-install 
  #↑このディレクトリを消したい
  /usr/local/bin/rbenv-install
  #↑このディレクトリも消したい

Counting installed Ruby versions: 4 versions
Auditing installed plugins: OK

2.対処法

①rbenvをすべてアンインストールする

rbenv rbenv開発元のuninstall方法に則して進めていきます

まずシェルの起動設定ファイル(ここでは.zshrc)からrbenv initの行を削除するかコメントアウトしてください。(個人的には削除がおすすめ)

エディタで.zshrcファイルを開く
eval "$(rbenv init -)" ←この行を削除するかコメントアウト

次にrbenvがインストールされているディレクトリを削除します。
※ rm -rfコマンドで消されたディレクトリは基本的には元に戻らないので、他のディレクトリを消さないよう注意してください

/usr/local/bin/からrbenvに関連する4つのディレクトリを削除

 $ rm -rf rbenv rbenv-install rbenv-uninstall ruby-build

次に/Users/username/からrbenvを削除

$ rm -rf ~/.rbenv を実行し削除

そして最後に

$ brew uninstall rbenv を実行します

以上でアンインストールは終了です!

②rbenvのインストール

rbenv rbenv開発元のinstall方法に則して進めていきます

ターミナルを開いて

Homebrewを使ってインストール
$ brew install rbenv ruby-build
$ rbenv init を実行
# Load rbenv automatically by appending
# the following to ~/.zshrc:

eval "$(rbenv init - zsh)"

エディタで.zshrcファイルを開く

eval "$(rbenv init - zsh)" ←この行を追加する

ここで一度ターミナルを再起動してrbenv-doctorを実行

~ $ curl -fsSL https://github.com/rbenv/rbenv-installer/raw/main/bin/rbenv-doctor | bash
Checking for `rbenv' in PATH: /usr/local/bin/rbenv
Checking for rbenv shims in PATH: OK
Checking `rbenv install' support: /usr/local/bin/rbenv-install (ruby-build 20230717) 
#↑ここが正常になっていることを確認
Counting installed Ruby versions: none
  There aren't any Ruby versions installed under `/Users/username/.rbenv/versions'.
  You can install Ruby versions like so: rbenv install 3.2.2
Auditing installed plugins: OK

無事にrbenvインストール完了!

③最新版のRubyが表示されるかリストを確認する

$ rbenv install --list
3.0.6
3.1.4
3.2.2
jruby-9.4.3.0
mruby-3.2.0
picoruby-3.0.0
truffleruby-23.0.0
truffleruby+graalvm-23.0.0

Only latest stable releases for each Ruby implementation are shown.
Use 'rbenv install --list-all / -L' to show all local versions.

(執筆時点の)最新版Ruby3.2.2が表示されるのを確認できました😁

◎参考にしたサイト

終わりに

この記事だけではなく開発元のREADMEをみることをおすすめします。
記事の内容に誤りがあった場合、ご指摘頂けるとありがたいです。都度、加筆・修正させて頂きます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0