@ledsun blog

無味の味は佳境に入らざればすなわち知れず

rbenvでのバージョン指定が効かなくなりました

~ rbenv version
2.5.5 (set by /Users/shigerunakajima/pubannotation/.ruby-version)
~ ruby --version
ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin18]

ruby のバージョンが上がっている。パスが上書きされたのでしょうか?

~ echo $PATH
/usr/local/opt/libxml2/bin /usr/local/opt/ruby/bin /Users/shigerunakajima/.yarn/bin /Users/shigerunakajima/.rbenv/shims /usr/local/bin /usr/local/bin /usr/bin /bin /usr/local/sbin /usr/sbin /sbin /opt/X11/bin /usr/local/share/dotnet ~/.dotnet/tools /Library/Frameworks/Mono.framework/Versions/Current/Commands /Applications/Wireshark.app/Contents/MacOS

/usr/local/opt/ruby/bin/ruby/Users/shigerunakajima/.rbenv/shims より前にいるのがよくないのでしょうか? /usr/local/opt/ruby/bin/ruby を消してみましょう。

あれ?historyset -U fish_user_paths (string match -v /usr/local/opt/ruby/bin $fish_user_paths) が残っているなあ・・・前にも同じことをしたのかな? 実行してみます。

~ set -U fish_user_paths (string match -v /usr/local/opt/ruby/bin $fish_user_paths)
set: Universal variable 'fish_user_paths' is shadowed by the global variable of the same name.

なぜか怒られます。グローバル変数の fish_user_paths がある?

~/.config/fish/config.fishset -g fish_user_paths "/usr/local/opt/ruby/bin" $fish_user_paths って書いてありました! 消したら

~ rbenv local 2.5.5
~ ruby --version
ruby 2.5.5p157 (2019-03-15 revision 67260) [x86_64-darwin18]

わーい

ただしHomebrewで入れているRubyは使えなくなりました。PATHから /usr/local/opt/ruby/bin 消したんだから、そりゃそうか・・・ set -U fish_user_paths $fish_user_paths /usr/local/opt/ruby/bin したら

~ echo $PATH
/Users/shigerunakajima/.yarn/bin /usr/local/opt/ruby/bin /Users/shigerunakajima/.rbenv/shims /usr/local/bin /usr/local/bin /usr/bin /bin /usr/local/sbin /usr/sbin /sbin /opt/X11/bin /usr/local/share/dotnet ~/.dotnet/tools /Library/Frameworks/Mono.framework/Versions/Current/Commands /Applications/Wireshark.app/Contents/MacOS

rbenvの前に来ちゃった・・・

再起動したら理想的な並び順に変わりました。

~ echo $PATH
/Users/shigerunakajima/.rbenv/shims /usr/local/bin /Users/shigerunakajima/.yarn/bin /usr/local/opt/ruby/bin /usr/local/bin /usr/bin /bin /usr/local/sbin /usr/sbin /sbin /opt/X11/bin /usr/local/share/dotnet ~/.dotnet/tools /Library/Frameworks/Mono.framework/Versions/Current/Commands /Applications/Wireshark.app/Contents/MacOS

なんじゃそれ?