L'installation des packages externes est assez simple, mais l'utilisateur peut parfois rencontrer des erreurs lors de l'exécution de cette tâche. Parmi ces erreurs, l'erreur « Le nœud du moteur est incompatible avec ce module » est l'une d'entre elles qui peut être résolue en suivant différentes techniques.
Aperçu rapide
- Lorsque le « nœud » du moteur est incompatible avec « ce » module, une erreur se produit ?
- Comment résoudre l'erreur du « nœud » du moteur incompatible avec le module « ce » ?
- Que faire si le « nœud » du moteur est incompatible avec « ce » module ? L'erreur persiste ?
- Conclusion
Lorsque le « nœud » du moteur est incompatible avec « ce » module, une erreur se produit ?
L'erreur « Le nœud » est incompatible avec « Ce » module se produit pour les raisons suivantes :
Raison 1 : le package requis n'est pas compatible
La raison la plus courante pour laquelle l'erreur « nœud » est incompatible avec le module « Ce » est due à l'incompatibilité entre Node.js et la version du package requise. Ce problème est principalement rencontré lors du déploiement de l'application Node.js sur AWS.
Raison 2 : ancienne version du nœud
Une autre raison est l’ancienne version de Node.js. Cela se produit principalement dans le système d'exploitation Ubuntu lorsque l'utilisateur essaie de mettre à jour la version de Node.js plusieurs fois et met également à jour les référentiels système en même temps. Pour cette raison, le « apte ' La commande démarrera une ancienne version de Node.js extraite du package Debian et l'utilisateur sera confronté à l'erreur particulière ci-dessus.
Comment résoudre l'erreur du « nœud » du moteur incompatible avec le module « ce » ?
Cette section répertorie toutes les solutions réalisables possibles pour résoudre l'erreur du module « nœud » du moteur incompatible avec « ce » :
- Solution 1 : ignorez la vérification du moteur à l'aide de « npm » et « yarn »
- Solution 2 : désactiver les champs du moteur par défaut à l'aide du fichier « package-lock.json »
- Solution 3 : mettre à jour le nœud vers la dernière version
Solution 1 : ignorez la vérification du moteur à l'aide de « npm » et « yarn »
La première solution est « ignorer la vérification du moteur ' lors de l'installation du package spécifié à l'aide du ' npm ' ou ' fil ' gestionnaires de paquets. Pour ' npm ' cela peut être fait en utilisant le ' -forcer ' drapeau et pour ' fil ' Cette tâche peut être effectuée à l'aide du ' –ignorer les moteurs ' drapeau.
Commencez par passer au « npm ' directeur chargé d'emballage.
Syntaxe (pour NPM)
installation npm -- forcer < emballer nom >Selon la syntaxe ci-dessus, le « -forcer ' L'indicateur ajoute avec force le package spécifié dans l'application Node.js
Utilisez maintenant la syntaxe ci-dessus pour installer un package spécifique dans la version actuelle de Node.js :
installation npm -- forcer la dactylographieDans la commande ci-dessus, le package « typescript » est installé en ignorant la compatibilité de la version actuelle de Node.
La sortie ci-dessous montre que le « manuscrit ' Le package a été installé de force dans l'application Node.js actuelle. Il affiche également un message d'avertissement dû au cache. Exécutez le ' vérification du cache npm » pour vérifier si le cache a fonctionné correctement ou non :
Ignorez maintenant les contrôles moteur en utilisant le ' fil ' Gestionnaire de packages à l'aide de la commande ci-dessous :
installation de fil -- ignorer - moteursLa commande ci-dessus ignore les vérifications du moteur et confirme que le ' fil ' n'installe pas les dépendances facultatives. Le ' –ignorer les moteurs ' L'indicateur exécute la commande 'yarn install' en mode hors ligne :
La commande ci-dessus crée un ' fil.lock ' dans le répertoire principal du projet Node.js.
Le ' fil ' Le gestionnaire de packages nécessite la syntaxe suivante pour installer un package en ignorant les vérifications du moteur :
Syntaxe (Pour le fil)
fil ajouter < emballer nom > -- ignorer - moteursUtilisez maintenant la syntaxe écrite ci-dessus pour installer un ' manuscrit » package globalement dans un système d’exploitation :
fil global ajouter un script dactylographié -- ignorer - moteursLe résultat ci-dessous ajoute avec succès le projet TypeScript globalement dans le système d'exploitation Windows actuel pour tous les projets Node.js :
Astuce : ignorez les vérifications du moteur pour toutes les commandes
Si l'utilisateur souhaite ignorer la vérification du moteur pour toutes les commandes, exécutez la commande ci-dessous avec le ' vrai ' valeur booléenne :
ensemble de configuration de fil ignorer - moteurs vraiLa commande ci-dessus indique au compilateur d'ignorer le champ moteur spécifié dans le fichier « package.json » :
Le ' ignorer les moteurs 'Les vérifications ont été définies sur true pour toutes les commandes. Désormais, l'utilisateur peut installer n'importe quel package spécifique dans Node.js sans spécifier l'indicateur « –ignore-engines » :
Solution 2 : désactiver les champs du moteur par défaut à l'aide du fichier « package-lock.json »
La solution suivante est de modifier le « moteur champ ' du ' package-lock.json ' déposer. Pour ce faire, accédez d’abord au répertoire principal du projet Node.js et ouvrez le fichier « package-lock.json ».
Une fois le fichier ciblé ouvert, déplacez-vous vers le « moteurs » et mettez-le à jour de cette façon :
Presse ' Ctrl+S » pour enregistrer le fichier ci-dessus. La modification permet au gestionnaire de packages « npm » d'installer la version de package requise qui convient à la version « >=14.17 » de Node.js.
Solution 3 : mettre à jour le nœud vers la dernière version
Une autre solution consiste à mettre à jour la version de Node.js. La mise à jour de Node.js sur tous les systèmes d'exploitation est assez simple et peut être effectuée à l'aide des guides ci-dessous :
- Comment mettre à jour les versions de nœuds sous Windows ?
- Comment mettre à niveau la version du nœud sur Ubuntu ?
- Comment mettre à niveau Node.js vers la dernière version sur macOS ?
Que faire si le « nœud » du moteur est incompatible avec « ce » module ? L'erreur persiste ?
Si l'erreur « le nœud » du moteur est incompatible avec le module « Ce » module » persiste après l'avoir résolue avec l'une des solutions ci-dessus, supprimez le « nœud_modules ' dossier. Le dossier « node_modules » est généré automatiquement lorsqu'un module tiers est installé. Il contient tous les packages tiers dont dépend le projet Node.js.
De plus, le « package-lock.json ' Le fichier est également généré automatiquement lorsqu'un package est installé avec ' npm '. Il conserve l'enregistrement des dépendances ainsi que des sous-dépendances dont dépend le package ainsi que leurs versions. Si le package est installé avec « yarn », alors ce nom de fichier est » fil.lock ».
Solution : supprimez le dossier « node_modules » et le fichier « package-lock.json »
La solution à l'erreur rencontrée consiste à supprimer le dossier « node_modules », le fichier de configuration « package-lock.json/yarn.lock » et à réinstaller le package requis.
Sous Linux , le ou les dossiers spécifiés ci-dessus peuvent être supprimés à l'aide de « rm (supprimer) » commande :
rm - paquet rf node_modules - verrouillage. json // Supprimer le dossier et le fichierls // Afficher le fichier et les répertoires
Dans la commande ci-dessus, le ' -r « l'indicateur supprime le dossier spécifié » récursivement ' y compris tous ses sous-répertoires et le ' F « le drapeau indique à l'interprète d'effectuer cette tâche » avec force » :
Le résultat montre que le dossier « node_modules » et le fichier « package-lock.json/yarn.lock » ont été complètement supprimés :
Sous Windows , l'utilisateur peut supprimer le dossier « node_modules » et le fichier « package-lock.json/yarn.lock » simplement en appuyant sur la touche « supprimer » ou en utilisant l'option « supprimer » du menu déroulant.
Il s’agit de résoudre l’erreur « Impossible de trouver le module » dans Node.js.
Conclusion
Pour résoudre le moteur » node » est incompatible avec le module « This » ', ignorez les vérifications du moteur selon le gestionnaire de packages spécifié. Pour ' npm ' cela peut être fait en utilisant le ' -forcer ' drapeau, et pour ' fil ' il peut être effectué à travers le ' –ignorer les moteurs ' Vérifiez le drapeau. De plus, l'utilisateur peut également résoudre l'erreur en modifiant le ' moteurs ' champ du ' package-lock.json ' ou en mettant à niveau la version de Node. Cet article a discuté de toutes les raisons possibles ainsi que de leur solution pour résoudre l'erreur « Impossible de trouver le module » à l'aide de Node.js.