更新:これがあなたの問題だと確信しています:
node --debug bin/www を実行し、node-debugger bin/www を起動します。
それらの両方をしないでください。それはどちらかです。それらは同じことを行う2つの方法です。node-inspector を使用しているかどうかに関係なく、よりシンプルでノード自体で動作するため、前者の方法を好みます。
要約する:
node-debug bin/www
同じプロセスでアプリをデバッグモードとノードインスペクターの両方で起動します
node --debug bin/www
アプリをデバッグ モードで起動します。これは、別のプロセスとして実行する別のターミナル ウィンドウと組み合わせる必要がありますnode-inspector
。このアプローチをお勧めしますが、どちらでも機能するはずです。
これのトラブルシューティングを開始するための私の提案は次のとおりです。コマンドの最も単純な形式を使用して、すべてを実行してみてください。
- vagrant ホスト内の 1 つの ssh セッション ターミナルで、アプリをフォアグラウンドで直接起動します。
node --debug ./bin/www
- v8 はポート 5858 にバインドしようとします。「debugger listen on port 5858」というメッセージが表示され、「Failed to open socket on port 5858, waiting 1000 ms before retrying」というメッセージは表示されません。
- 「ポート 5858 でソケットを開くことができませんでした」というメッセージが表示された場合は、別のプロセスが既にリッスンしています。実行
sudo netstat -ntlp
して、それがどのプロセスであるかを確認し、それが何であるか、なぜ実行されているかを理解し、それを強制終了してポートを解放しますkill <pid-you-got-from-netstat>
- vagrant ホスト内の別の ssh セッション ターミナルで、node-inspector Web サーバー
node-inspector
をフォアグラウンドで起動します。通常の出力が表示され、エラーがないことを確認してください。
- おそらく次のような正しいURLに接続し
http://localhost:8080/debug?port=5858
ます(vagrant IP /ポートが異なる場合を除く)
- そこにたどり着いて、途中で表示される予期しないエラーを解決すれば、実際にはうまくいくはずですが、そうでない場合は、表示されるこの
EADDRINUSE
エラーに関する正確な詳細を投稿してください。それはあなたのアプリ自体の例外ですか?もしそうなら、あなたのvagrantホストのどこかですでに実行されている、あなたのアプリケーションのWebサーバーポートにバインドされている、あなたの高速アプリの古いインスタンスがありますか?