状況
- rbenvを使ってる
- いつのまにか古いRails(rails-0.9.5)がインストールされてた
-
$ gem uninstall rails -v 0.9.5で古い方を削除 - 念のため
$ gem install rails && rbenv rehash - なのに
railsコマンドでタイトルのエラーが発生
対処方法
railtiesをインストールすれば良い。
$ gem install railties && rbenv rehash
(参照)sstephenson / rbenv - rbenv: rails: command not found
ちなみに
$ which railsすると~/.rbenv/shims/railsを向いていると思う。
これはrbenvがrailsコマンドをラップしたもので、実体がどこにあるかは$ rbenv which railsで調べることがでる。
で、それは~/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/railties-3.2.3/bin/railsあたりを向いている。
今回$ gem install rails && rbenv rehashをしても効果がなかったのは、
- rails gem は railties gem とか activerecord gem とかをまとめてインストールするためのgemであって
railsコマンドの配置はしない - 一方
railsコマンドを配置する railties gem はインストール済みであったために再度配置することはなく、railsコマンドはuninstallで消されっぱなし
ってことじゃないかなぁ。たぶん。