Ce guide explique les correctifs possibles pour « écouter EADDRINUSE : adresse déjà utilisée » en couvrant les sections ci-dessous :
- Comment résoudre « Erreur : écouter EADDRINUSE : adresse déjà utilisée » ?
- Solution 1 : exécuter des processus sur différents ports
- Solution 2 : arrêter les processus exécutés sur le même port
- Méthode 1 : utiliser le module « kill-port » après l'installation
- Méthode 2 : utiliser le module « kill-port » sans installation
- Astuce bonus : désinstallation du module « kill-port »
- Solution 3 : terminez les services Node.js sous Windows
- Utilisation de l'approche CLI
- Utilisation de l'approche GUI
- Conclusion
Comment résoudre « Erreur : écouter EADDRINUSE : adresse déjà utilisée » ?
Le ' Erreur : écoutez EADDRINUSE : adresse déjà utilisée » se produit lorsque plusieurs applications ou tâches tentent d'accéder au même port. Cette erreur peut être générée lors des phases de tests ou de développement. Par exemple, l'erreur mentionnée ci-dessus va être générée pour une meilleure compréhension :
const expressObj = exiger ( 'exprimer' )
const démoApp = expressObj ( )
démoApp. obtenir ( '/' , ( demande, résolution ) => {
rés. json ( {
nom : « Article Linux sur CORS » ,
langue : 'Node.js' ,
application : 'CorsApp' ,
origine : « Origine croisée » ,
intergiciel : 'CORS'
} )
} )
démoApp. écouter ( 8080 , ( ) => {
console. enregistrer ( `Le serveur a démarré le 'http://localhost:8080/' ` )
} )
démoApp. écouter ( 8080 , ( ) => {
console. enregistrer ( `Le serveur a démarré le 'http://localhost:8080/' ` )
} )
L'extrait de code ci-dessus fonctionne comme ceci :
- Tout d’abord, importez le « exprimer ' module et stocker son objet dans une nouvelle variable ' expressObj ». Utilisez cette variable comme constructeur pour créer une nouvelle application express nommée « démoApp ».
- Ensuite, créez une requête GET en utilisant le « obtenir() ' et définissez la page d'accueil en tant que gestionnaire racine en passant ' / » comme premier paramètre. Le deuxième paramètre est une fonction de rappel anonyme qui envoie « JSON ' données comme réponse par l'utilisation du ' json() ' méthode.
- Après cela, faites en sorte que cette application s'exécute sur le même numéro de port que ' 8080 ' Deux fois. Cette exécution du même port deux fois génère l'erreur mentionnée.
La sortie générée après la compilation du code ci-dessus montre l'apparition d'une erreur « Erreur : écoute EADDRINUSE : adresse déjà utilisée » :
Il existe principalement deux solutions pour résoudre l'erreur survenue dans la sortie ci-dessus : modifier les numéros de port ou arrêter l'un des processus en cours. Mais il existe également plusieurs autres correctifs qui résolvent indirectement le problème « Erreur : écoutez EADDRINUSE : adresse déjà utilisée ' erreur. Ces solutions ainsi que des démonstrations pratiques sont présentées ci-dessous :
Solution 1 : exécuter des processus sur différents ports
La solution la plus recommandée pour l'erreur mentionnée est d'identifier les numéros de port sur lesquels les deux services s'exécutent comme dans notre cas, c'est ' 8080 ». Ensuite, choisissez un service au hasard et modifiez son numéro de port pour que les services écoutent sur localhost mais avec des numéros de port différents. Notre code après la modification discutée est présenté ci-dessous :
const expressObj = exiger ( 'exprimer' )
const démoApp = expressObj ( )
démoApp. obtenir ( '/' , ( demande, résolution ) => {
rés. json ( {
nom : « Article Linux sur CORS » ,
langue : 'Node.js' ,
application : 'CorsApp' ,
origine : « Origine croisée » ,
intergiciel : 'CORS'
} )
} )
démoApp. écouter ( 8080 , ( ) => {
console. enregistrer ( `Le serveur a démarré le 'http://localhost:8080/' ` )
} )
démoApp. écouter ( 3000 , ( ) => {
console. enregistrer ( `Le serveur a démarré le 'http://localhost:8080/' ` )
} )
La sortie générée après l'exécution du code ci-dessus montre que maintenant le ' Erreur : écoutez EADDRINUSE : adresse déjà utilisée ' Le problème est résolu :
Solution 2 : arrêter les processus exécutés sur le même port
Une autre façon de résoudre l'erreur « écouter EADDRINUSE : adresse déjà utilisée » consiste à arrêter les processus en cours d'exécution sur le port spécifique déjà utilisé. Cela rendra le port inactif auquel le développeur pourra accéder pour effectuer des tâches spécifiées. Ce processus d'arrêt se fait à l'aide d'un module externe nommé « port d'arrêt ».
Par exemple, tous les processus qui s'exécutent sur le numéro de port spécifié ' 8080 ' vont être tués en utilisant le ' port d'arrêt module '. Il existe deux manières d'utiliser le module « kill-port » et ces deux approches sont indiquées ci-dessous :
Méthode 1 : utiliser le module « kill-port » après l'installation
Le ' port d'arrêt ' Le module est un module externe tiers et afin d'utiliser ce module dans le projet node.js. Ce module doit d'abord être téléchargé en exécutant la commande ci-dessous :
npm installer tuer - port - gLa figure ci-dessous montre l'achèvement de l'installation du ' port d'arrêt 'variable :
Après l'installation, l'utilisateur peut supprimer les services pour le numéro de port requis. Dans notre cas, les services de numéro de port » 8080 » vont être tués via la commande indiquée ci-dessous :
tuer - port -- port 8080La sortie ci-dessous confirme que tous les services pour le port ' 8080 ' A été tué:
Méthode 2 : utiliser le module « kill-port » sans installation
Le ' port d'arrêt Le module ' peut être utilisé sans passer par le processus d'installation grâce à l'utilisation d'un ' npx » coureur de paquets. Par exemple, le « port d'arrêt ' Le module est utilisé pour supprimer deux ports spécifiés à l'aide de la commande d'exécution de package ' npx ' indiquée ci-dessous :
npx tuer - port 8080 9000La sortie ci-dessous montre que les services pour les ports spécifiés « 9000 ' et ' 8080 ' A été tué:
Astuce bonus : désinstallation du module « kill-port »
Afin de désinstaller le ' port d'arrêt ' globalement à partir du système, exécutez la commande ci-dessous :
npm désinstaller tuer - port - g
Solution 3 : terminez les services Node.js sous Windows
Si l'erreur « Erreur : écoutez EADDRINUSE : adresse déjà utilisée » persiste, supprimez tous les éléments en cours d'exécution » noeud.js ' Services utilisant l'approche GUI ou CLI.
Utilisation de l'approche CLI
Appuie sur le ' Fenêtre » pour ouvrir la barre de recherche et saisir le « CMD ' à l'intérieur du champ de recherche, à partir des résultats générés. Ensuite, sélectionnez le « Invite de commande ' et appuyez sur la touche ' Exécuter en tant qu'administrateur ' bouton:
En sélectionnant l'option, une nouvelle fenêtre d'invite de contrôle apparaîtra, pour supprimer les services « node.js » actuellement en cours d'exécution en arrière-plan, exécutez la commande ci-dessous :
tuer des tâches / F / Nœud de messagerie instantanée. exeLa sortie générée montre que les services « node.js » ont été arrêtés :
Utilisation de l'approche GUI
Pour supprimer les services node.js en cours d'exécution du système, ouvrez le fichier ' Gestionnaire des tâches » en appuyant sur le « Ctrl + Maj + Échap » touches immédiatement. Après avoir ouvert le « Gestionnaire des tâches », accédez au « Détails ' tapez, sélectionnez le ' noeud.exe ' service, et appuyez sur le ' Tâche finale ' Bouton situé en bas à droite, comme indiqué ci-dessous :
Il s’agit de résoudre l’« Erreur : écouter EADDRINUSE : adresse déjà utilisée » dans Node.js.
Conclusion
L'erreur « Erreur : écouter EADDRINUSE : adresse déjà utilisée » se produit lorsque plusieurs services tentent d'utiliser un seul port en même temps. Pour résoudre ce problème, l'utilisateur doit essayer d'utiliser un numéro de port différent ou supprimer les services qui s'exécutent déjà sur le numéro de port spécifié à l'aide du « port d'arrêt module '. Si l'erreur n'est toujours pas résolue, tuez tous ceux en cours d'exécution ' noeud.js » depuis le gestionnaire de tâches et redémarrez votre application. Ce guide a illustré les solutions possibles pour résoudre le problème « Erreur : écouter EADDRINUSE : adresse déjà utilisée ».