LoginSignup
0
0

More than 3 years have passed since last update.

$ rails s が実行できなくなる現象及び解決方法

Last updated at Posted at 2021-01-31

今回は、railsを使っている際に
ターミナルで「$ rails s」ができなくなり困ったため解消法を書きます。

Ruby on Railsで編集中に

スクールの事前学習で、Ruby on Railにて学習に、
いつも通り変更後、ターミナルでサーバーを立ち上げようとした時です。

error
$ rails s 

でエンターを押すと、立ち上げに成功するのですが、今回は下記のようなエラーが出てきました。

error
 Address already in use - bind(2) for "127.0.0.1" port 8080 (Errno::EADDRINUSE)

、、、、あれれ???おかしいぞ!!!と(笑)解決方法はどうすればいい???
(おそらく駆け出しエンジニアさんも同じエラーで困ってるはず、、、)

と思い調べました!!

解消法の手順

No 手順 詳細
1 $ sudo lsof -i:〇〇〇〇 エラーで表示された番号を〇に入れる。
2 LISTEN部分を確認 (LISTEN)と書いてある行のPAID数字を確認する。
3 $ kill 〇〇〇〇 3で確認した数字を〇にいれて止める。(KILLコマンド)
4 完了 解消済み。rails sを再度やってみましょう。

①$ sudo lsof -i:〇〇〇〇

上記の様なエラーが出たら、下記のコードを打ちます。
エラーの文に「port 〇〇〇〇」とあるのでその数字を入力しエンター。(8080の部分です。)

improve
   $ sudo lsof -i:8080 ⇦この部分です。


②LISTEN部分(PIDの番号)の確認

①でエンターを実行すると、下記のような画面が表示されます。

improve
COMMAND  PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
ruby    7930 ec2-user   14u  IPv4  34779      0t0  TCP localhost:webcache (LISTEN)
ruby    7930 ec2-user   15u  IPv6  34780      0t0  TCP localhost6:webcache (LISTEN)

ここで注目する箇所としては、
「COMMAND」と「PID」の箇所です。

これを見ると、Rubyで起動した状態になっていました。
なぜこうなったかはよくわからないのですが、、、、


③$ kill 〇〇〇〇(killコマンドの実行)

それに対して起動を止めるために、PAIDの番号をKILLコマンドで止めます。

improve
   $ kill 7930

④再度rails sを実行で元通り。

再度、サーバーを立ち上げたところ元通りに起動することができました。
もし同じ状況になった方がいたらぜひ試してください。

参考文献

侍えんじにあ 成長日記

以上、たにーでした。

0
0
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
0
0