web-dev-qa-db-fra.com

Erreur Node.js: connect ECONNREFUSED

Je suis nouveau sur le noeud et rencontre cette erreur sur un simple tutoriel.

Je suis sur OS X 10.8.2 en train d’essayer cela depuis CodeRunner et le Terminal .J'ai aussi essayé de mettre mon module dans le dossier node_modules.

Je peux dire que c'est une sorte de problème de connexion mais je ne sais pas pourquoi?

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;
52
ian

Il est fort probable que vous rencontrez des difficultés avec le noeud node.js lorsque le serveur que vous appelez refuse de se connecter. Essaye ça:

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

Ceci maintient votre serveur en fonctionnement et vous donne également une place pour attacher le débogueur et rechercher un problème plus profond.

40
user2957009

J'avais le même problème avec fantôme et heroku.

heroku config:set NODE_ENV=production 

résolu!

Vérifiez votre configuration et env que le serveur est en cours d'exécution.

9
Siddhartha Mukherjee

Vous essayez de vous connecter à localhost: 8080 ... un service fonctionne-t-il sur votre localhost et sur ce port? Sinon, la connexion est refusée, ce qui provoque cette erreur. Je suggère de vérifier si quelque chose tourne sur localhost: 8080 en premier.

8
JakubKnejzlik

Lorsque vous exécutez le code ci-dessus, vous devez disposer d'un serveur s'exécutant sur le port 8080, qui renvoie simplement la demande via la réponse. Copiez le code ci-dessous dans un fichier séparé (par exemple, 'server.js') et démarrez ce serveur à l'aide de la commande node (node ​​server.js). Vous pouvez ensuite exécuter séparément le code ci-dessus (nœud app.js) à partir d'une ligne de commande distincte.

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...');
5
Andrew M.

Si vous êtes sur la pile MEAN (Mongo-Express-AngularJS-Node), lancez d’abord mongod et ce message d’erreur disparaîtra.

2
Bob Vargas

Les utilisateurs rencontrent cette erreur lorsque le processus Node.js est toujours en cours d'exécution et qu'ils tentent de redémarrer le serveur. Essaye ça:

ps aux | grep node

Cela va imprimer quelque chose comme:

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

Dans ce cas, le processus sera celui avec le pid 7668. Pour le tuer et redémarrer le serveur, exécutez kill -9 7668.

1
rahulmehta95

Vérifiez avec mysql à partir du terminal. Utilisez la commande ci-dessous

mysql-ctl start

Dans mon cas, cela a fonctionné 

1
mujaffars

La même erreur se produit dans localhost, je change juste le port mysql (8080 dans le port localhost mysql 5506) ça marche pour moi.

0
Jai

Le Unhandled 'error' event fait référence à ne pas fournir de fonction à la demande de transmission des erreurs. Sans cet événement, le processus de noeud se termine par l'erreur au lieu d'échouer normalement et de fournir un retour d'informations réel. Vous pouvez définir l'événement juste avant la ligne request.write pour intercepter tout problème:

request.on('error', function(err)
{
    console.log(err);
});

Plus d'exemples ci-dessous:

https://nodejs.org/api/http.html#http_http_request_options_callback

0
SmujMaiku

Exécutez server.js à partir d'une ligne de commande différente et client.js à partir d'une ligne de commande différente

0
shamila