La instal·lació dels paquets externs és bastant senzilla, però de vegades l'usuari pot trobar alguns errors mentre realitza aquesta tasca. Entre aquests errors, l'error 'El 'node' del motor és incompatible amb 'Aquest' mòdul' és un d'ells que es pot resoldre seguint diferents tècniques.
Esquema ràpid
- Quan el 'node' del motor és incompatible amb 'Aquest' error del mòdul?
- Com resoldre el 'node' del motor és incompatible amb l'error del mòdul 'Aquest'?
- Què fer si el 'node' del motor és incompatible amb l'error del mòdul 'Aquest' encara persisteix?
- Conclusió
Quan el 'node' del motor és incompatible amb 'Aquest' error del mòdul?
El 'node' és incompatible amb 'Aquest' L'error del mòdul es produeix pels motius següents:
Motiu 1: el paquet requerit no és compatible
La raó més comuna per la qual el 'node' és incompatible amb l'error del mòdul 'Aquest' és a causa de la incompatibilitat entre el Node.js i la versió del paquet requerida. S'enfronta principalment durant el desplegament de l'aplicació Node.js a AWS.
Raó 2: versió del node més antiga
Un altre motiu és la versió anterior de Node.js. S'enfronta principalment al sistema operatiu Ubuntu quan l'usuari intenta actualitzar la versió Node.js diverses vegades i també actualitza els dipòsits del sistema juntament amb ella. Per aquest motiu, el “ apt ” L'ordre iniciarà una versió anterior de Node.js extreta del paquet Debian i l'usuari s'enfrontarà a l'error particular anterior.
Com resoldre el 'node' del motor és incompatible amb l'error del mòdul 'Aquest'?
Aquesta secció inclou totes les possibles solucions viables per resoldre el 'node' del motor és incompatible amb l'error del mòdul 'Aquest':
- Solució 1: Ignoreu la comprovació del motor amb 'npm' i 'fils'
- Solució 2: desactiveu els camps del motor predeterminats mitjançant el fitxer 'package-lock.json'.
- Solució 3: actualitzeu el node a la darrera versió
Solució 1: Ignoreu la comprovació del motor amb 'npm' i 'fils'
La primera solució és ' ignorant la comprovació del motor ” mentre instal·leu el paquet especificat mitjançant el “ npm ' o ' fil ” gestors de paquets. Per ' npm ' es pot fer amb el ' – força ' bandera i per ' fil ” aquesta tasca es pot realitzar mitjançant el “ –ignorar-motors ” bandera.
Primer moviment al ' npm ” gestor de paquets.
Sintaxi (per a NPM)
instal·lació npm -- força < paquet nom >Segons la sintaxi anterior, el ' – força ” afegeix el paquet especificat a l'aplicació Node.js amb força
Ara utilitzeu la sintaxi anterior per instal·lar un paquet específic a la versió actual de Node.js:
instal·lació npm -- forçar mecanografiaA l'ordre anterior, el paquet 'typescript' s'instal·la ignorant la compatibilitat de la versió actual del Node.
La sortida següent mostra que el ' mecanografiat ” s'ha instal·lat amb força a l'aplicació Node.js actual. També mostra un missatge d'advertència a causa de la memòria cau. Executar el ' verificació de la memòria cau npm ” ordre per verificar si la memòria cau ha funcionat correctament o no:
Ara ignoreu les comprovacions del motor amb el ' fil ” gestor de paquets amb l'ajuda de l'ordre que s'indica a continuació:
instal·lació de fil -- ignorar - motorsL'ordre anterior ignora les comprovacions del motor i confirma que el ' fil ” no instal·la les dependències opcionals. El ' –ignorar-motors La bandera executa l'ordre 'instal·lació de fil' en mode fora de línia:
L'ordre anterior crea un ' fil.bloqueig ” al directori principal del projecte Node.js.
El ' fil ” El gestor de paquets requereix la sintaxi següent per instal·lar un paquet ignorant les comprovacions del motor:
Sintaxi (per a fil)
afegir fil < paquet nom > -- ignorar - motorsAra utilitzeu la sintaxi escrita anteriorment per instal·lar un ' mecanografiat ” paquet globalment en un sistema operatiu:
fil global afegir mecanografiat -- ignorar - motorsLa sortida següent afegeix correctament el projecte mecanografiat globalment al sistema operatiu Windows actual per a tots els projectes Node.js:
Consell: Ignoreu les comprovacions del motor per a totes les ordres
Si l'usuari vol ignorar la comprovació del motor de totes les ordres, executeu l'ordre a continuació juntament amb el ' veritat ” valor booleà:
El conjunt de configuració de fil ignora - motors veritatL'ordre anterior indica al compilador que ignora el camp del motor especificat al fitxer 'package.json':
El ' ignorar-motors ” les comprovacions s'han establert com a true per a totes les ordres. Ara l'usuari pot instal·lar qualsevol paquet específic al Node.js sense especificar el senyalador “–ignore-engines”:
Solució 2: desactiveu els camps del motor predeterminats mitjançant el fitxer 'package-lock.json'.
La següent solució és modificar el ' motor 'camp del ' package-lock.json ' dossier. Per fer-ho, primer, navegueu al directori principal del projecte Node.js i obriu el fitxer 'package-lock.json'.
Un cop obert el fitxer de destinació, aneu a ' motors ” i actualitzeu-lo d'aquesta manera:
Premeu ' Ctrl+S ” per desar el fitxer anterior. La modificació permet que el gestor de paquets 'npm' instal·li la versió de paquet necessària que és adequada per a la versió '>=14.17' de Node.js.
Solució 3: actualitzeu el node a la darrera versió
Una altra solució és actualitzar la versió de Node.js. L'actualització de Node.js en tots els sistemes operatius és bastant fàcil i es pot realitzar amb l'ajuda de les guies que s'indiquen a continuació:
- Com actualitzar les versions del node a Windows?
- Com actualitzar la versió del node a Ubuntu?
- Com actualitzar Node.js a la darrera versió a macOS?
Què fer si el 'node' del motor és incompatible amb l'error del mòdul 'Aquest' encara persisteix?
Si el 'node' del motor és incompatible amb el mòdul 'Aquest' error' persisteix després de resoldre'l amb qualsevol de les solucions anteriors, elimineu el ' mòduls_nodes ” carpeta. La carpeta 'node_modules' es genera automàticament quan s'instal·la un mòdul de tercers. Conté tots els paquets de tercers dels quals depèn el projecte Node.js.
A més, el “ package-lock.json ” també es genera automàticament quan s'instal·la un paquet amb “npm”. Manté el registre de les dependències, així com de les subdependències de les quals depèn el paquet juntament amb les seves versions. Si el paquet està instal·lat amb 'yarn', aquest nom de fitxer és ' fil.bloqueig ”.
Solució: elimineu la carpeta 'node_modules' i el fitxer 'package-lock.json'.
La solució a l'error trobat és suprimir la carpeta 'node_modules', el fitxer de configuració 'package-lock.json/yarn.lock' i tornar a instal·lar el paquet necessari.
En Linux , la carpeta o els fitxers especificats anteriorment es poden suprimir amb l'ajuda del ' rm (eliminar)' comanda:
rm - paquet rf node_modules - pany. json //Suprimeix la carpeta i el fitxerls // Mostra fitxers i directoris
A l'ordre anterior el ' -r 'El senyalador elimina la carpeta especificada' recursivament ” incloent tots els seus subdirectoris i el “ f ' La bandera diu a l'intèrpret que faci aquesta tasca ' amb força ”:
La sortida mostra que la carpeta 'node_modules' i el fitxer 'package-lock.json/yarn.lock' s'han eliminat completament:
A Windows , l'usuari pot suprimir la carpeta 'node_modules' i el fitxer 'package-lock.json/yarn.lock' simplement prement la tecla 'suprimeix' o utilitzant l'opció 'eliminar' del menú desplegable.
Això es tracta de resoldre l'error 'No es pot trobar el mòdul' a Node.js.
Conclusió
Per resoldre el motor ' node' és incompatible amb el mòdul 'Aquest'. ” error, ignoreu les comprovacions del motor segons el gestor de paquets especificat. Per ' npm ' es pot fer amb el ' – força ' bandera, i per ' fil ' es pot realitzar a través del ' –ignorar-motors ” marca de verificació. A més, l'usuari també pot resoldre l'error modificant el ' motors 'camp de la' package-lock.json ” o actualitzant la versió del Node. En aquesta publicació s'han discutit tots els motius possibles juntament amb la seva solució per resoldre l'error 'No es pot trobar el mòdul' mitjançant Node.js.