LoginSignup
3
1

More than 5 years have passed since last update.

Cloud9でrails consoleエラーが出た時の解決までのプロセス

Last updated at Posted at 2018-02-08

優しいCloud9さんに

rails console

で唐突に怒られた時に、結構ハマったので、解決までの道のりを記録しました。

事象

$ rails console
/usr/local/rvm/gems/ruby-2.4.0/gems/activesupport-5.0.3/lib/active_support/dependencies.rb:287:in `load': /home/ubuntu/.irbrc:5: syntax error, unexpected '^', expecting end-of-input (SyntaxError)

解決までのプロセス

1. お決まりのやつを疑う

  • rails server動いてない
  • dbをmigrateしてない
  • rails testエラーがある
  • スペルミスがある
    rails consoleのエラーとは直接関係無いものもありますが、 そもそも・・・みたいなところのおきまりのチェック事項です。

2. gemfileを疑う

gemファイルのバージョン指定に誤りが無いか確認してアップデート。

$ bundle update

3. gemfile.lockを疑う

gemfile.lockを削除してから再インストール。

$ bundle install

4. springを疑う

一旦止めてから、

$ spring stop
Spring is not running

余計な動きをしているpidが無いか確認。

$ ps aux | grep spring
ubuntu      4496  0.0  0.0 271692 17・・・

killコマンドで停止する。

$ kill -9 xxx

※Cloud9ではシグナル番号-9ではなく、-15。xxxにはpidを指定。

5. 迷走

ここでCloud9と関係ないローカル上のrvmとか、似たようなrails consoleのエラー(readlineのエラー)とかを疑い出してどハマりしてしまいました。

6. .irbrcを疑う

これ、そもそも何かgem的なやつだと思っていてsyntax-errorと言われても全然存在を疑っていなかったのですが、どうやらそもそもいらない子だったようなのでいなくなってもらいました。

rm /home/ubuntu/.irbrc 

これで解決しました。
【補足】
irbrcがいらないのではなく、なんかの拍子に生成してしまったこのirbrcファイルが本来rails consoleで読むべきirbrcファイルの邪魔をしていたので、削除したことによってデフォルトのirbrcファイルが正しく読み込まれてsyntax-errorが解消されたと解釈しています。このあたり詳しい方いらしたら補足コメントいただけると嬉しいです…。

まとめ

公式リファレンスが大切と何度も納得していたのに、やっぱり日本語検索してしまうわけでして・・・今回も結局、Cloud9はシグナル番号が違うことや、irbcファイルが余計だったことを公式リファレンスで知ることが出来たので、公式リファレンスの検索や英語での検索をまずやってみようと思いました。

参照サイト

Ruby on Rails tutorial - 3.6 高度なセットアップ - コラム 3.4. Unixのプロセス
Cloud9 Support - Rails console not starting. Error in .irbrc file?

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1