LoginSignup
1
0

More than 1 year has passed since last update.

rbenv localでrubyのバージョンが変わらなかったので解決してみた

Posted at

問題

・rbenvでrubyのバージョンを変えられない。

$ rbenv local 2.7.1
$ ruby -v
ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.x86_64-darwin22]

原因

・PATHの設定がrbenv用になっていない。

↓rbenvで設定したrubyを使用する場合はrubyのパス設定がこのようになる。
which ruby
/Users/ユーザ名/.rbenv/shims

しかし、現状の私のrubyのパスはこんなかんじ。

which ruby
/usr/bin/ruby

つまり、rubyのパス設定がローカルのままになっているということ。

解決策

・rubyのパス設定を書き換える。

まずは環境変数に/Users/ユーザ名/.rbenv/shimsがあるかを確認する。

echo $PATH

私の場合は,,,(読みやすいように改行してます。)

echo $PATH
/usr/local/bin:
/usr/bin:
/bin:
/usr/sbin:
/sbin:/Library/Apple/usr/bin:
/Users/ユーザ名/flutter/bin:
/Users/ユーザ名/Documents/Dev/flutter/bin

という感じ。
今回の目的である、/Users/ユーザ名/.rbenv/shimsは表示されない。

そこで、.bash_profileを開いて以下のコードを追加してみた。

export PATH="$PATH:/Users/ユーザ名/.rbenv/shims"

ここで、.bash_profileを有効化する。

source .bash_profile

しかし、これでは解決できずに結局rubyのバージョンは変わらない。

次に、参考記事から以下のコードを入力してみた。
rbenvでバージョンがうまく切り替わらなかった時にやったこと

source ~/.bashrc

すると、なんとrubyのパスが変わっていた!

なぜ??
ちなみに.bashrcの中身はこんな感じ。

if [ -d $HOME/.anyenv ]
then
    export PATH="$HOME/.anyenv/bin:$PATH"
    eval "$(anyenv init -)"
fi

この.bashrcファイルを有効化したからパス設定が変わったのかはよくわからないんですが、とりあえず備忘録と後日の学習のためにメモを残しておこうと思います。

source .bashrcでパスが変わった理由がわかる方いたら教えていただけると嬉しいです。

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