41

サーバーにNginxとNode.jsをインストールしました。

node.jsファイルを実行しようとすると、エラーが発生します。

node.js:201
        eを投げます。// process.nextTickエラー、または最初のティックでの'error'イベント
              ^
エラー:EADDRNOTAVAILをリッスンします
    errnoException(net.js:614:11)で
    Array.0で(net.js:689:28)
    EventEmitter._tickCallback(node.js:192:40)で

この問題を解決するにはどうすればよいですか?

ありがとう!

4

11 に答える 11

7

同じエラーが発生していたので、ポートを変更して作業しました

于 2012-10-05T00:46:09.393 に答える
7

コードの一部のように、もう少しコンテキストが必要だと思います。Web サーバーまたはソケットでリッスンし始めていると思いますか? その仮定に基づいて、localhost を使用しない限り、テスト サーバーで基本的な Web サーバーを実行すると、同様の結果が得られます。

events.js:48
        throw arguments[1]; // Unhandled 'error' event
                   ^
Error: listen EADDRNOTAVAIL
    at errnoException (net.js:670:11)
    at Array.0 (net.js:756:28)
    at EventEmitter._tickCallback (node.js:190:38)

[hostname] パラメータを localhost に変更してみてください。

var http = require('http');
http.createServer( function ).listen(8000, '127.0.0.1');
于 2012-06-06T04:35:43.640 に答える
5

そのノードがすでにサーバーを実行していた可能性はありますか? 同様のエラーを受け取り、トラブルシューティング中にこれを見つけました。以前のノードサーバーをシャットダウンすると、問題が解決しました。

于 2012-08-05T04:24:45.570 に答える
1

私にとっては、同じエラーがありました。構成を確認すると、代わりにhost=127.0.0.0エラーが発生することがわかりました。127.0.0.1127.0.0.0

于 2016-11-09T04:02:58.067 に答える
0
var express = require('express');

var app = express();
app.set('port', process.env.PORT || 3000);
app.set('host', process.env.HOST || 'localhost');

app.listen(app.get('port'), function(){
  console.log('Express server listening on port ' + app.get('host') + ':' + app.get('port'));
});

私のために働きます。また、変更を加えずに、ローカル IP
によるデバッグにも一般的です。localhost

于 2016-02-01T21:07:53.417 に答える
0

これは、'ip addr add i:p:v:6' がまだ辺獄か何か (ちょうど実行/実行中) にあり、インターフェースが完全にリッスンする準備ができておらず、新しい ipv6 アドレスの追加でまだビジー状態であるときにも発生します。

execSync [ https://nodejs.org/api/child_process.html#child_process_child_process_execsync_command_options を参照]を使用して「sleep」を呼び出して 2 秒間一時停止すると、Listen to not エラーで Error: listen EADDRNOTAVAIL が許可されるようです。

[これは本当にUbuntuのNodeJS 7.4.0で考えられるバグです。これは、使用/リッスン接続の直前のipv4アドレスの作成では発生しないためです。]

于 2017-04-13T06:40:53.047 に答える