Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

rbenvでバージョンがうまく切り替わらなかった時にやったこと

More than 5 years have passed since last update.

Macでrbenvを使用して最新の安定版のrubyを入れて使おうとしたけどなかなかバージョンが切り替わらなかった時があったのでメモ。
ちなみにHomebrewでrbenvとruby-buildをインストールしています。

状況

rbenvで最新の安定版のrubyをインストールしてglobal設定
rbenv global 2.2.3

一見設定できてそう

$ rbenv versions
  system
* 2.2.3

でもruby -vで確認すると

$ ruby -v
ruby 2.0.0p645

ちゃんと設定できてません。

切り替えられるまでにやったこと

rbenv init

$ rbenv init

すると以下のようなメッセージが出現。

# Load rbenv automatically by adding
# the following to ~/.bash_profile:

eval "$(rbenv init -)"

試しに~/.bash_profileを見ると中身が空っぽだったので、
eval "$(rbenv init -)"
を追加してみる。変化なし。
もう一度initを実行しても同様です。

rbenv local --unset

ディレクトリ固有のRubyバージョンを指定しているわけではないものの、一応ローカルのバージョン設定を破棄してみる。

$ rbenv local --unset
$ rbenv rehash

当たり前ですが変化なし。

解決策

簡潔に言うとPATHの設定がちゃんとできてませんでした。
どこのrubyが呼ばれているかを確認してみます。

$ which ruby
/usr/bin/ruby

となっており、rbenvのrubyを使う時に設定されているべき
/Users/ユーザ名/.rbenv/shims/ruby
ではありませんでした。

実際、PATHを確認してみると、

$ echo $PATH

で出力されたものの中に/Users/ユーザ名/.rbenv/shimsはありませんでした。

.bash_profileの中身自体は先ほどinitをごにょごにょしていた時に設定しているのでそれを反映させます。

$ source ~/.bash_profile

これによりwhich ruby, echo $PATHの結果が期待通りになり、

$ ruby -v
ruby 2.2.3p173

ちゃんと設定できました。

参考記事

http://easyramble.com/rbenv-ruby-version-trouble.html

akatsuki174
iOS→Androidエンジニアになりました。それなりに使える言語はSwift, Objective-C, Kotlin, Java。 UX, データ分析, グロースハック, デザイン, 自然言語処理にも興味あり。 1分野に固まらず、いろんな分野のことについて書いていこうと思います。
techtrain
プロのエンジニアを目指すU30(30歳以下)の方に現役エンジニアにメンタリングもらえるコミュニティです。
https://techbowl.co.jp/techtrain/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away