rbenvを使っても、MacのRubyのバージョンが切り替えられずハマった。


iOS開発をいろいろいじっていて、CocoaPodsをインストールしようとした時にハマりました。

$ gem install cocoapods

すると、「Rubyのバージョンが最新じゃねえよ」と怒られた。

$ ruby -v

でバージョンを確認すると、確かに2.0.0となっています。

あれ?rbenvで2.3.0入れなかったっけ?

which rbenv

いる。

rbenv install 2.3.0

Mac「すでに2.3.0入ってるけど二重インストールすんの?正気かおまえ?」

rbenvですでに2.3.0が入っている。。。

rbenv global 2.3.0

実行。

コマンドは通ったが、再度ruby -vすると2.0.0のまま。

「ruby mac update」とか「ruby mac インストール」で検索する。

大体の記事が、ruby global 2.3.0を実行してうまくバージョンが切り替わっている記事。。。

rbenvでバージョンが切り替わらないときの対処法」という記事を発見。

source ~/.bash_profile

を実行してrubyのバージョン確認。2.0.0のまま。。。

(bash_profileにはif which rbenv > /dev/null; then eval “$(rbenv init -)”; fiがあるため)
直接rbenv initを実行することで直せる。

とあるので、.bash_profileの最後の行に

if which rbenv > /dev/null; then eval “$(rbenv init -)”; fi

と追記して、bashを再起動してみる。

$ ruby -v
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]

ようやく解決しました。rbenvを入れた時に、何らかの手違いで.bash_profileに
if which rbenv > /dev/null; then eval “$(rbenv init -)”; fi
の行がなかったのが問題?

なんにせよ、無事

$ sudo gem install cocoapods 

でCocoaPodsがインストールできたので一件落着となりました。