menu

Web制作のTipsとかアレコレ。

rbenv rehashで存在しないファイルがexistsと言われる | MacにRuby2.0.0-p247をインストール

2013.09.28

端的に言うと、rbenvで何かしらのバージョンのrubyを入れた後に問答無用で行わなければならないらしきrehashで相当に理不尽な事を言われてハマりかけました。
実際のエラーは以下のようなもの。

$ rbenv rehash

rbenv: cannot rehash: /Users/*******/.rbenv/shims/.rbenv-shim exists

existsすなわち存在するぞ、と。何故??
で、似たようなことは結構起きているらしく、いわく「.rbenv-shimを削除したらOK」とのこと。
なんだそんだけか、と思って該当のディレクトリを見ると、

$ ls -la /Users/*******/.rbenv/shims/
total 64
drwxr-xr-x  10 root     wheel  340  9 28 05:42 .
drwxr-xr-x  29 yngdrsk  wheel  986  9 28 05:42 ..
-rwxr-xr-x   8 root     wheel  411  9 28 05:42 erb
-rwxr-xr-x   8 root     wheel  411  9 28 05:42 gem
-rwxr-xr-x   8 root     wheel  411  9 28 05:42 irb
-rwxr-xr-x   8 root     wheel  411  9 28 05:42 rake
-rwxr-xr-x   8 root     wheel  411  9 28 05:42 rdoc
-rwxr-xr-x   8 root     wheel  411  9 28 05:42 ri
-rwxr-xr-x   8 root     wheel  411  9 28 05:42 ruby
-rwxr-xr-x   8 root     wheel  411  9 28 05:42 testrb

あれ?ない。当然removeも出来ない。何回やっても同じエラーが出る。まっこと理不尽。

というわけで調べてみたら、
https://github.com/sstephenson/rbenv/issues/238
ここの回答に、

An issue may be with permissions. Rbenv cannot write to a folder when it expects to be able to write (or something like that), but says file exists instead of access denied?

「パーミッションの問題じゃね?」

というのがありましたので、早速shimsディレクトリ(もともとrwxr-xr-x=755)をゴメンナサイと言いながら777にしてrehashしたところ、見事に解決しました。
で、新しい方をglobalにして確認してみたら、ちゃんと2.0.0-p247になってたので安心。で、パーミションを元通り755に戻して一件落着。

なんやねんな、もう…無駄な時間を使わさんといてwww

Comments

please leave your comment...

▲ Page Top