Just do IT

思うは招く

railsコマンドをすると mkdir: /usr/local/bin/../version_cache: Permission denied が出るので対処

環境

問題

rails -v

をすると、エラーではないが次のメッセージが表示され、railsコマンドが実行される。

mkdir: /usr/local/bin/../version_cache: Permission denied
/usr/local/bin/rbenv-communal-gem-home: line 21: /usr/local/bin/../version_cache/2.7.0: No such file or directory
Rails 6.0.2.1 # 実行はされる

実行はされるものの、

mkdir: /usr/local/bin/../version_cache: Permission denied
/usr/local/bin/rbenv-communal-gem-home: line 21: /usr/local/bin/../version_cache/2.7.0: No such file or directory

が毎回出てきて邪魔くさい。

解決

/usr/local/bin/rbenv-communal-gem-homeファイルの一部を変更する。

変更前

14 cachedir="${BASH_SOURCE%/*}/../version_cache"

変更後

14 + cachedir="$RBENV_ROOT/.communal-gem-version-cache"
15 # cachedir="${BASH_SOURCE%/*}/../version_cache"

本来あったcachedir="${BASH_SOURCE%/*}/../version_cache"コメントアウトし、cachedir="$RBENV_ROOT/.communal-gem-version-cache"というように、パスを変更している。

これで解決できた。

ちなみに、行数を表示しながらcatするには-nオプションをつける。

cat -n /usr/local/bin/rbenv-communal-gem-home

参照