Je travaille sur un projet node.js depuis quelques semaines et il fonctionne très bien. Habituellement, j'utilise npm start
pour exécuter mon application et la visualiser dans un navigateur sur localhost, port 3000.
Aujourd'hui, j'ai commencé à obtenir l'erreur suivante en utilisant npm start :
Server started on port 3000
Port 3000 is already in use
J'ai vérifié le moniteur de ressources et aucun autre processus ne fonctionne sur le port 3000. Pourquoi est-ce que je reçois ce message d'erreur ?
Dans mon app.js, j'ai le code suivant pour définir le port... est-ce incorrect ? Cela fonctionnait bien avant, donc je ne suis pas sûr de ce que je fais mal.
// Set Port
app.set('port', (process.env.PORT || 3000));
app.listen(app.get('port'), function() {
console.log('Server started on port '+app.get('port'));
});
Merci pour votre aide !
EDITAR:
J'ai essayé d'exécuter netstat et TCPView pour vérifier quel processus utilise le port, mais il n'y a rien qui utilise ce port. J'ai également essayé de redémarrer mon ordinateur portable, mais j'obtiens toujours la même erreur.
0 votes
Il y a un autre processus qui utilise ce port, c'est certain. Quel système d'exploitation essayez-vous d'utiliser ? Vous pouvez chercher sur google 'trouver quel processus utilise le port' pour votre système d'exploitation.
0 votes
Avez-vous essayé de naviguer vers localhost:3000 ?
0 votes
@tanaydin J'ai vérifié Resource Monitor sur Windows 10 et il n'y a aucun processus en écoute sur le port 3000. À moins qu'il n'y en ait un que je ne vois pas ?
1 votes
Avez-vous essayé stackoverflow.com/questions/48198/
0 votes
@Blorgbeard rien ne s'affiche, "Site can't be reached" cependant, sur l'onglet Chrome, je vois le favicon de mon site de nœuds... mais l'application elle-même ne fonctionne pas.
1 votes
La favicon sera mise en cache. Vous pouvez également essayer
netstat
dans une invite de commande, ou en vous connectant à localhost:3000 avec un équivalent telnet - PuTTY, par exemple.0 votes
Et bien sûr, ce pourrait fonctionner
0 votes
@Blorgbeard J'ai essayé TCPView et netstat et il n'y a rien qui tourne sur le port 3000, j'ai aussi essayé de redémarrer mon ordinateur portable et toujours le même problème.
6 votes
Je remarque que vous obtenez "Le port 3000 est déjà utilisé". après "Le serveur a démarré sur le port 3000" - est-ce que quelque chose dans votre application tente de recommencer à écouter sur le même port ?
0 votes
@Blorgbeard J'ai vérifié le log de npm-debug et j'ai remarqué qu'il y a une erreur "Dites à l'auteur que cela échoue sur votre système : node ./bin/www".
0 votes
Duplicata possible de Node / Express : EADDRINUSE, Adresse déjà utilisée - Tuer le serveur
0 votes
Marqué comme dupe, essayez :
ps aux | grep node
puiskill -9 PID
9 votes
Je pense que vous avez deux
app.listen()
dans votre application sur une autre.listen()
qui essaie aussi de démarrer un serveur sur ce port. Le premier fonctionne, le second signale l'erreur. Recherchez dans votre code.listen
.0 votes
On dirait que vous avez un bug dans votre code de démarrage. Peut-être ajouter ou lier plus de votre code et quelqu'un le trouvera ?
0 votes
Pour moi, c'était mon
.env
- donc assurez-vous qu'il n'y a pas d'erreurs de syntaxe à cet endroit.