• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ruby on rails チュートリアル)

ruby on rails チュートリアルでエラーが発生してビューが開けません

このQ&Aのポイント
  • チュートリアルの3章を勉強中なのですが、$ rails generate controller StaticPages home help というコマンドを実行した後、rails serverコマンドを実行するとエラーが出てビューが開けません。
  • エラーメッセージとしては、Address already in useというエラーが表示されています。
  • 原因は、既に指定したポート番号が使用されているため、別のポート番号を指定する必要がある可能性があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • h271015
  • ベストアンサー率71% (62/87)
回答No.2

Cloud9はよく分かりませんが、記載いただいた事象が発生している間に、 $ rails server -b $IP -p $PORT を別で実行したままの状態ではないでしょうか? もしそうであれば片方を停止する必要があります。

takumi_ruby
質問者

お礼

おそらく、違うアプリの方が停止できていなかったのだと思います。 ありがとうございます。 翌日になり、再度クラウド9にログインしたところ普通にサーバーが立ち上がりました。 難しいです(*_*)

その他の回答 (2)

  • naoki1986
  • ベストアンサー率28% (28/98)
回答No.3

遅くなりました。 isof -i :8080 や netstat -a 等で8080ポートがどのプロセスで使われているか確認できますか? また、Apacheのlistenで8080を利用してたりしませんか? その他に $rails server -b $IP -p 3001 のようにポートを変えてみるとどうですか? そもそもrailsのデフォルトポートは3000だと思いますがどこかで変更しました? boot.rbで利用ポートを明示的に変更することも可能なのでそちらもお試しください。

  • naoki1986
  • ベストアンサー率28% (28/98)
回答No.1

bin/rails の3行目で読み込んでいるのは何ですか? /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/socket.rb:206:in `bind': Address already in use - bind(2) for 0.0.0.0:8080 (Errno::EADDRINUSE) これを見ると0.0.0.0:8080が既に使われていると出ていますね。 設定ファイルを見直す必要がありそうですね

takumi_ruby
質問者

補足

#!/usr/bin/env ruby begin load File.expand_path('../spring', __FILE__) rescue LoadError end APP_PATH = File.expand_path('../../config/application', __FILE__) require_relative '../config/boot' require 'rails/commands' このようにbin/railsはなっていました。 おそらく、 クラウド9で勉強しているのですが https://rails-tutorial-(user-name)-1.c9users.io/ これが同じワークスペースのどのアプリでも同じアドレスになってしまう事が原因な様な気がします。 よくわからないかもしれませんが、よろしくお願いします。

関連するQ&A