Just do IT

思うは招く

railsをインストールしたのに Rails is not currently installed on this system と出る場合の対処法

問題

前提

  • rbenvを使用
  • Mac ローカル環境
gem i rails

railsをインストールしたのに次のエラーメッセージが出る。

Rails is not currently installed on this system. To get the latest version, simply type:

    $ sudo gem install rails

You can then rerun your "rails" command.

原因

gem i rails

これだと、RailsMac本体にインストールされている。

解決

以下の記事を参考に解決した。

結論としては、以下のコマンドを実行すればいい。

export PATH="$HOME/.rbenv/shims:$PATH"

なぜ

前提として、次のことを理解しておく。

  • gemはシステム(Mac本体)ではなく、rubyが持つツール
  • rbenvでは、rubyごとにそれぞれインストールしたgemを持つ

そしておそらく、自分も次の記事の方と同じ状況になっている。

つまり私のドハマリした状況は

ruby⇛rbenvのものが作動(1.9.3系) gem⇛MacOSXのデフォルトのruby(1.8.7系)のgemが作動 rails⇛上記のgemでinstallされたから、デフォルトruby内のgemに配置=/usr/bin/の中のrailsが使われている という入り組んだ状態になっていた。

MacOSX-Lionでrbenvを使ってRubyOnRailsの環境構築すると、以下のようなメッセージが出てドハマリしたけど、なんとか解決したことについてのメモ(推理なので正しいかどうかの確証持てない) - Qiita

今回使ったコマンドは以下のことをしている。

gem⇛rbenvで入れたruby1.9.3系のgemを起動させるようにする rails⇛rbenv内のrubyの指定位置から呼ばれるようにする