Rubyでバージョンがうまく切り替わらない時

はい、Rubyをやっているものです。

だいぶRubyを触ってきたつもりでしたが、最初の環境構築でつまづいてしまいました。Rubyのバージョンがうまく切り替わらないと言うものです。今回はその解決策について簡単にまとめておきます。

結論は「PATHの設定の問題」です。

Rubyでバージョンがうまく切り替わらない時

状況

Ruby安定版の2.7.1をインストールしてグローバル設定しています。

コード
$ rbenv versions
  system
* 2.7.1

一見するとうまく設定できてそうですが、バージョンを確認すると2.7.1ではなく、2.6.3と表示されていて、うまくいってません。

コード
$ ruby -v
2.6.3p62

結論

PATHがうまく通ってませんでした。要するに使用するRubyをきちんと指定できていなかったのが原因です。

以下のように$which rubyとして、どのRubyを使っているかを確認すると

コード
$which ruby
/usr/bin/ruby

と言う形。システムに最初からインストールされているRubyを使用しています。

本来は以下のように

コード
$which ruby
/Users/ユーザ名/.rbenv/shims/ruby

と表示されなくてはいけません。これを設定するにはPATHを設定する必要があります。

解決手順

手順1
bash_profileをきれいにする

bash_profileを整理するために$open ~/.bash_profileで、bash_profileをテキスト形式でオープンします。何か記述があったら削除します。Vimで編集してもOKです。

MEMO
※もしbash_profileだけでなく、bashrcやzshrcなどがある場合も、1度確認して記述をいったんクリアすることをおすすめします。
手順2
bash_profileにPATHを記述する

bash_profileにeval “$(rbenv init -)”を記入します。これによってRubyの参照先をシステムからrbenvのRubyに変更することができます。

手順3
変更内容を反映する
bash_profileの変更内容をsource ~/.bash_profileで反映させます。
手順4
きちんと変更されたか確認する

これで$ which ruby$echo $PATHが正常になるはずなので、ruby -vしてみて参照先を変更できているか確認します。

コード
$ruby -v
2.7.1p83

まとめ

と言うわけで、うまくRubyが切り替わらないときの対処法についてまとめました。正直かなり曖昧な理解が多くて、大変でした。PATHに関しては少し理解できたように思います。

どんどん先に進んで来ちゃったので、また1からしっかりと勉強しないとなぁと思うこの頃です。

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA