状況
- 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で消されっぱなし
ってことじゃないかなぁ。たぶん。