Com resoldre el 'node' del motor és incompatible amb l'error del mòdul 'Aquest'.

Com Resoldre El Node Del Motor Es Incompatible Amb L Error Del Modul Aquest



A Node.js, el ' paquet ” conté tots els fitxers importants d'un mòdul. Un mòdul correspon a una biblioteca que construeix una connexió amb una aplicació en funció del seu context. Tots els paquets Node.js no estan predefinits, la majoria són externs que es poden instal·lar a l'aplicació Node.js mitjançant el gestor de paquets 'npm/yarn'.

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?

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'

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 mecanografia

A 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 - motors

L'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 - motors

Ara utilitzeu la sintaxi escrita anteriorment per instal·lar un ' mecanografiat ” paquet globalment en un sistema operatiu:

fil global afegir mecanografiat -- ignorar - motors

La 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 veritat

L'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 fitxer

ls // 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.