はじめに
rbenvでrubyのversionを更新しようと思ったのですがなぜか切り替わらない....
昔も同じ事がありましたが、
今回はそれとは違い凡ミスでしたが小一時間使ってしまったので自分戒めメモ
最初に行った事
rbenvで切り替わらない系の記事は調べるとたくさん出てきます。
だいたいパスが通ってない場合が多いです。
昔同じ事があったと書きましたが、その時もこれでした。
ながれ
やるとこんな感じ
# 切り替えたはず $ rbenv versions system 2.1.2 2.2.0 * 2.4.1 (set by /Users/hoge/.rbenv/version) # 切り替わってない $ ruby -v ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin13] # rubyのパスを確認すると違うところみてる $ which ruby /usr/local/bin/ruby # ~/.bash_profileにパスを追加 & 読み込み $ vim ~/.bash_profile ---- vim ---- export PATH="$HOME/.rbenv/shims:$PATH" ------------- $ source ~/.bash_profile # 再度バージョン確認。変わってない... $ ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin13]
参考
正解
なんでだーーー
と思いながら小一時間なやみましたが凡ミスでした。
自分は以前、homebrewでrubyを入れたのですが、
その時に追加されたパスが悪さをしていました。
- ~/.bash_profile
# rbenv用に追加したパス export PATH="$HOME/.rbenv/shims:$PATH" eval "$(rbenv init -)" ~ 省略 ~ # 下の方にhomebrewのパス設定 # PATHの先頭にhomebrew用のパスが追加されて先に読まれてしまう # これにより/usr/local/bin/rubyが読まれてしまう export PATH="/usr/local/bin:$PATH"
確認
確認すると確かにhomebrewのrubyが使われています。
# rubyコマンドをあらためて確認 $ which ruby /usr/local/bin/ruby # lsで見てみるとhomebrewのrubyへのシンボリックリンク # なるほど... $ ls -l /usr/local/bin/ruby* lrwxr-xr-x 1 hoge admin 29 9 6 2016 /usr/local/bin/ruby -> ../Cellar/ruby/2.3.1/bin/ruby lrwxr-xr-x 1 hoge admin 44 1 24 03:55 /usr/local/bin/ruby-build -> ../Cellar/ruby-build/20171226/bin/ruby-build
切り替えられるようにする
homebrewで入れたrubyを消してもよかったのですが、
vimに必要だったりしたので素直にhomebrewのパス設定より後にrbenvのパス設定を追加するようにしました。
- ~/.bash_profile
# homebrewの設定 export PATH="/usr/local/bin:$PATH" # rbenv用に追加したパス export PATH="$HOME/.rbenv/shims:$PATH" eval "$(rbenv init -)"
おわり
パスの上書きは気づきにくい!!\(^o^)/