Rails

突然railsが動かなくなった話

エラー内容

$ rails s を実行すると、突然

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.

とのエラー。

怒られるがまま、
$ sudo gem install rails を実行しますが同じエラーの繰り返し。。。泣

解決方法

$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile

この2つを実行するだけで、とりあえず当初のエラーはなくなりrailsサーバは立ち上がりました。

おそらく、node.jsのためのパス指定時に、rubyに関する記述の意味もわからず消去してしまったからだと思われます。

状況

このエラーが出る以前に、React.jsを書いてみたいと思ったので、
node.jsのインストールを行いました。(多分これを適当にやってしまったのが原因)
インストール時の参考にした記事にあるように、パスを指定するために .bash_profile や .bashrc を編集しました。

この作業前後にrails のバージョンをいじったりもしていないので、
おそらくこの辺りでパスとかがおかしくなっただけかなと予想。rails導入時の手順を調べると、

$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile

を実行する手順がある。。。(おそらくこの辺が現状うまくいっていない)

rbenvとruby-buildについて(参考)

(参考)
rbenv + ruby-build はどうやって動いているのか
rbenv で ruby の環境を整える
Railsアプリ開発に途中から参加する場合の環境設定
rbenvコマンド備忘録
gemファイルのインストール場所を調べたりする方法
Bundler概要
新しいRubyのバージョンをインストールするとbundle installできない

rbenv(rubyのバージョンを切り替えることできる)と、
ruby-build(Rubyの様々なバージョンをインストールすることができる)は、Rubyのバージョンを管理する際に組み合わせて使います。

よくわからん。。。
設定ファイルの記述の意味をしっかり知って操作すべきと思う一件でした