102

私はノードを初めて使用し、簡単なチュートリアルでこのエラーに遭遇しました。

私はOS X 10.8.2でCodeRunnerとターミナルからこれを試しています。node_modulesまた、モジュールをフォルダーに入れてみました。

これは何らかの接続の問題であることがわかりますが、その理由はわかりませんか?

events.js:71
        throw arguments[1]; // Unhandled 'error' event
                       ^
Error: connect ECONNREFUSED
    at errnoException (net.js:770:11)
    at Object.afterConnect [as oncomplete] (net.js:761:19)

app.js:

var makeRequest = require('./make_request');

makeRequest("Here's looking at you, kid");
makeRequest("Hello, this is dog");

make_request.js:

var http = require('http');

var makeRequest = function(message) {

    //var message = "Here's looking at you, kid.";
    var options = {
        host: 'localhost', port: 8080, path:'/', method: 'POST'
    }

    var request = http.request(options, function(response) {
        response.on('data', function(data) {
            console.log(data);
        });
    });
    request.write(message);
    request.end();
};

module.exports = makeRequest;
4

14 に答える 14

56

呼び出しているサーバーが接続を拒否するたびに node.js が死んでしまうことに苦労している可能性があります。これを試して:

process.on('uncaughtException', function (err) {
    console.log(err);
}); 

これにより、サーバーの実行が維持され、デバッガーを接続してより深い問題を探す場所も提供されます。

于 2013-11-05T16:23:59.030 に答える
11

私はゴーストとヘロクで同じ問題を抱えていました。

heroku config:set NODE_ENV=production 

解決しました!

サーバーが実行されている構成と環境を確認してください。

于 2014-02-23T05:09:29.083 に答える
11

localhost:8080 に接続しようとしています... localhost とこのポートで実行されているサービスはありますか? そうでない場合、接続が拒否され、このエラーが発生します。最初に localhost:8080 で何かが実行されているかどうかを確認することをお勧めします。

于 2013-03-23T11:38:27.253 に答える
6

上記のコードを実行するときは、サーバーがポート 8080 で実行されている必要があります。このコードは、単に応答によって要求を返します。以下のコードを別のファイル (「server.js」など) にコピーし、node コマンド (node server.js) を使用してこのサーバーを起動します。その後、別のコマンド ラインから上記のコード (node app.js) を個別に実行できます。

var http = require('http');

http.createServer(function(request, response){

    //The following code will print out the incoming request text
    request.pipe(response);

}).listen(8080, '127.0.0.1');

console.log('Listening on port 8080...');
于 2016-01-16T21:45:25.620 に答える
1

ターミナルでmysqlを起動して確認してください。以下のコマンドを使用

mysql-ctl start

私の場合、うまくいきました

于 2015-06-25T12:36:17.953 に答える
1

Node.js プロセスがまだ実行中で、サーバーを再起動しようとすると、このエラーが発生します。これを試して:

ps aux | grep node

これにより、次の行に沿って何かが出力されます。

user    7668  4.3  1.0  42060 10708 pts/1    Sl+  20:36   0:00 node server
user    7749  0.0  0.0   4384   832 pts/8    S+   20:37   0:00 grep --color=auto node

この場合、プロセスは pid 7668 のプロセスになります。プロセスを強制終了してサーバーを再起動するには、kill -9 7668.

于 2013-01-05T04:38:50.427 に答える
-1

API をチェックするときに、Postman を使用した開発環境で同じ問題が発生していました。私は文字通りすべての答えをグーグルから検索しましたが、役に立ちませんでした。

解決策: 「不眠症」(Postman の代替) に移行したところ、問題なく動作します。この回避策が役立つことを願っています。

于 2021-11-24T13:48:42.767 に答える