rbenv が更新されても、ruby のルート バージョンがターミナルにインストールされない
概要
Ruby のルート バージョンを更新しようとしています。ルートディレクトリが更新されていないようです。 homebrew または rbenv を使用して Ruby をインストールしても、ruby は更新されますが、ruby -v を実行するとバージョン 2.6 のままになります。メインルートが間違っているのではないかと心配しており、これをどう修正するか考えています。
このコマンドを実行すると、次の出力が得られます。
ルビー -v
ルビー 2.6.10p210 (2022-04-12 リビジョン 67958) [universal.arm64e-darwin23]
このコマンドを実行すると、次の出力が得られます。
rbenv バージョン:
3.3.0 (/Users/ninajay/.ruby-version によって設定)
このコマンドを実行すると、次の出力が得られます。
export PATH=“/opt/homebrew/opt/ruby/bin:/Users/itayayuuicularu/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/bin:/Users/itayayuuicularu/.rbenv/versions /3.3.1/bin:/usr/local/Cellar/rbenv/1.2.0/libexec:/Users/itayayuuicularu/Library/Caches/fnm_multishells/33854_1716205101510/bin:/Users/itayayuuicularu/Library/Application Support/fnm:/ opt/homebrew/opt/openssl@3/bin:/Users/itayayuuicularu/Library/Caches/fnm_multishells/33805_1716205101477/bin:/Users/itayayuuicularu/.rbenv/shims:/Users/itayayuuicularu/.nodebrew/current/bin:/ usr/local/opt/php@7.4/sbin:/usr/local/opt/php@7.4/bin:/usr/local/opt/libxml2/bin:/Users/itayayuuichirou/.phpenv/shims:/opt/homebrew /opt/tidy-html5/lib:/opt/homebrew/opt/icu4c/bin:/opt/homebrew/opt/openssl@1.1/bin:/opt/homebrew/opt/krb5/bin:/opt/homebrew/opt /libiconv/bin:/opt/homebrew/opt/curl/bin:/opt/homebrew/opt/bzip2/bin:/opt/homebrew/opt/libxml2/bin:/opt/homebrew/opt/bison/bin:/ Users/itayayuuicularu/.phpenv/bin:/Users/itayayuuicularu/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin: /var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var /run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/itayayuuicularu/.fzf/bin:/Users/itayayuuicularu/Documents/SDKs /フラッター/ビン”
ルビー -v
Ruby 3.3.0 (2023-12-25 リビジョン 5124f9ac75) [arm64-darwin23]
また、これを実行すると、次のパスになります。
環境 | grep パス
PATH=/Users/ninajay/opt/miniconda3/bin:/Users/ninajay/opt/miniconda3/condabin:/Library/Frameworks/Python.framework/Versions/3.12/bin:/Library/Frameworks/Python.framework/Versions/ 3.10/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/ sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin: /var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/usr/local/share/dotnet:~/.dotnet/tools
解決策
Ruby の「ルート」バージョンを更新したくない場合。
Mac を使用しているため、パス /usr/bin/ruby に Ruby のバージョンがプレインストールされています。どちらかと言えば、これは Ruby の「ルート」バージョンです。これを更新する唯一の良い方法は、macOS を更新し、Apple が Ruby を更新してくれることを祈ることです。
homebrew、rbenv、rvm などを介して Ruby をインストールする場合、それは完全に別個の Ruby インストールになります。たとえば、/opt/homebrew/bin/ruby または ~/.rbenv/versions/3.1.2/bin/ruby にある可能性があります。
問題は、シェルに Ruby を入力するときに、どれを実行させたいのか、そしてそれを実行させるための最良の方法は何なのかということです。
まず、rbenv バージョンを実行します。 rbenv の重要な点は、必要に応じていつでも Ruby を簡単に更新し、自由にバージョンを切り替えることができることです。つまり、Ruby で ~/.rbenv/shims/ruby を実行する必要があるということです。これを直接実行することで、rbenv が必要なバージョンをインストールしたかどうかを手動で確認できます。
~/.rbenv/shims/ruby -v
では、Ruby にそのバージョンを実行させる最善の方法は何でしょうか? 「rbenv をロードするようにシェルを構成する」でシェルの手順を読んでください。これには通常、シェル設定に eval “” のような行を追加する必要がありますが、それは使用している特定のシェルによって異なります。繰り返しますが、次のコマンドを実行して手動でテストできます。
rbenv init
ruby -v
Ruby を実行することで予期しない動作が発生する場合は、type -a Ruby を実行して、シェルで実行できるすべての処理を (優先順位に従って) 確認することもできます。これは、何かが間違って実行されるように設定が間違っている場合にデバッグするのに役立ちます。