Sådan løses motorens 'knudepunkt' er inkompatibel med 'dette' modulfejl

Sadan Loses Motorens Knudepunkt Er Inkompatibel Med Dette Modulfejl



I Node.js er ' pakke ” indeholder alle de vigtige filer i et modul. Et modul svarer til et bibliotek, der bygger en forbindelse med en applikation baseret på dens kontekst. Alle Node.js-pakkerne er ikke foruddefinerede, de fleste af dem er eksterne, der kan installeres i Node.js-applikationen via 'npm/yarn'-pakkehåndteringen.

Installationen af ​​de eksterne pakker er ret enkel, men nogle gange kan brugeren stå over for nogle fejl, mens de udfører denne opgave. Blandt disse fejl er fejlen 'Engine 'node' inkompatibel med 'This' Module' fejlen en af ​​dem, der kan løses ved at følge forskellige teknikker.

Hurtig disposition







Når motorens 'knudepunkt' er inkompatibel med 'dette' modulfejl?

'Knudepunktet' er inkompatibelt med 'Dette' Modulfejl opstår på grund af følgende årsager:



Årsag 1: Påkrævet pakke er ikke kompatibel

Den mest almindelige årsag til, at 'noden' er inkompatibel med 'This'-modulfejlen, skyldes inkompatibiliteten mellem Node.js og den påkrævede pakkeversion. Det bliver for det meste konfronteret med implementering af Node.js-applikationen til AWS.



Årsag 2: Ældre nodeversion

En anden grund er den ældre version af Node.js. Det opstår for det meste i Ubuntu-operativsystemet, når brugeren forsøger at opdatere Node.js-versionen flere gange og også opdaterer systemlagrene sammen med den. Af denne grund er ' passende ” kommando vil starte en ældre Node.js-version taget fra Debian-pakken, og brugeren står over for ovenstående særlige fejl.





Hvordan løses motorens 'knudepunkt' er inkompatibel med 'denne' modulfejl?

Dette afsnit samler alle mulige brugbare løsninger til at løse motorens 'node' er inkompatibel med 'Denne' modulfejl:

Løsning 1: Ignorer motortjekket ved at bruge 'npm' og 'garn'

Den første løsning er ' ignorerer motortjekket ' mens du installerer den angivne pakke ved hjælp af ' npm ' eller ' garn ” pakkeansvarlige. Til ' npm ' kan det gøres ved at bruge ' -kraft ' flag og for ' garn ' denne opgave kan udføres ved at bruge ' –ignorer-motorer ' flag.



Første skridt på ' npm ” pakkeansvarlig.

Syntaks (for NPM)

npm installere -- kraft < pakke navn >

Ifølge ovenstående syntaks er ' -kraft ” flag tilføjer den angivne pakke til Node.js-applikationen kraftigt

Brug nu ovenstående syntaks til at installere en specifik pakke i den aktuelle Node.js-version:

npm installere -- tvinge maskinskrift

I ovenstående kommando er 'typescript'-pakken installeret og ignorerer den aktuelle Node-versionskompatibilitet.

Nedenstående output viser, at ' maskinskrift ”-pakken er blevet kraftigt installeret i den aktuelle Node.js-applikation. Den viser også en advarselsmeddelelse på grund af cachen. Udfør ' npm cache verificere kommando for at kontrollere, om cachen fungerede korrekt eller ej:

Ignorer nu motortjekket ved at bruge ' garn ” pakkehåndtering ved hjælp af nedenstående kommando:

montering af garn -- ignorere - motorer

Ovenstående kommando ignorerer motorkontrollen og bekræfter, at ' garn ” installerer ikke de valgfrie afhængigheder. Det ' –ignorer-motorer ' flag kører kommandoen 'garninstallation' i offlinetilstand:

Ovenstående kommando opretter en ' garn.lås ” fil i Node.js-projektets hovedmappe.

Det ' garn ” Pakkehåndtering kræver følgende syntaks for at installere en pakke, der ignorerer motortjek:

Syntaks (til garn)

garn tilføje < pakke navn > -- ignorere - motorer

Brug nu den ovenfor skrevne syntaks til at installere en ' maskinskrift ” pakke globalt i et operativsystem:

garn globalt tilføje typescript -- ignorere - motorer

Nedenstående output tilføjer succesfuldt typescript-projektet globalt i det aktuelle Windows-operativsystem for alle Node.js-projekter:

Tip: Ignorer motortjek for alle kommandoer

Hvis brugeren ønsker at ignorere motorkontrollen for alle kommandoer, så kør nedenstående kommando sammen med ' rigtigt ” boolesk værdi:

yarn config set ignorer - motorer rigtigt

Ovenstående kommando fortæller compileren, der ignorerer motorfeltet angivet i filen 'package.json':

Det ' ignorere-motorer ” kontroller er sat til sand for alle kommandoer. Nu kan brugeren installere enhver specifik pakke i Node.js uden at angive flaget '–ignore-engines':

Løsning 2: Deaktiver standardmotorfelter ved hjælp af filen 'package-lock.json'.

Den næste løsning er at ændre ' motor ' feltet fra ' package-lock.json ' fil. For at gøre det skal du først navigere til hovedmappen for Node.js-projektet og åbne filen 'package-lock.json'.

Når den målrettede fil er åbnet, skal du flytte til ' motorer '-feltet og opdater det på denne måde:

Tryk på ' Ctrl+S ” for at gemme ovenstående fil. Ændringen tillader 'npm'-pakkehåndteringen at installere den påkrævede pakkeversion, som er egnet til '>=14.17' Node.js-versionen.

Løsning 3: Opdater Node til nyeste version

En anden løsning er at opdatere Node.js-versionen. Opdateringen af ​​Node.js på alle operativsystemer er ret let og kan udføres ved hjælp af nedenstående guider:

  • Sådan opdateres nodeversioner på Windows?
  • Sådan opgraderer du nodeversion på Ubuntu?
  • Hvordan opgraderer man Node.js til den nyeste version på macOS?

Hvad skal man gøre, hvis motorens 'knudepunkt' er inkompatibel med 'denne' modulfejl stadig vedvarer?

Hvis 'motorknudepunktet' er inkompatibelt med 'Dette' modul'-fejlen fortsætter efter at have løst det med en af ​​ovenstående løsninger, skal du slette ' node_modules ” mappe. Mappen 'node_modules' genereres automatisk, når et tredjepartsmodul er installeret. Den indeholder alle de tredjepartspakker, som Node.js-projektet afhænger af.

Desuden er ' package-lock.json ”-fil genereres også automatisk, når en pakke er installeret med “npm”. Den opbevarer en oversigt over afhængigheder såvel som underafhængigheder, som pakken afhænger af, sammen med deres versioner. Hvis pakken er installeret med 'garn', er dette filnavn ' garn.lås ”.

Løsning: Fjern mappen 'node_modules' og filen 'package-lock.json'.

Løsningen på den stødte fejl er at slette mappen 'node_modules', konfigurationsfilen 'package-lock.json/yarn.lock' og installere den nødvendige pakke igen.

I Linux , kan den eller de ovenfor angivne mapper slettes ved hjælp af nedenstående ' rm (fjern)' kommando:

rm - rf node_modules pakke - låse. json //Slet mappe og fil

ls // Vis fil og mapper

I ovenstående kommando ' -r ' flag sletter den angivne mappe ' rekursivt ' inklusive alle dets undermapper og ' f ' flag fortæller tolken om at udføre denne opgave ' kraftigt ”:

Outputtet viser, at mappen 'node_modules' og filen 'package-lock.json/yarn.lock' er blevet fjernet fuldstændigt:

I Windows , kan brugeren slette mappen 'node_modules' og filen 'package-lock.json/yarn.lock' blot ved at trykke på 'delete'-tasten eller bruge 'delete'-indstillingen i rullemenuen.

Det handler om at løse fejlen 'Kan ikke finde modul' i Node.js.

Konklusion

For at løse motoren ' node' er inkompatibel med 'This' modul ” fejl, ignorer motortjekket i henhold til den angivne pakkehåndtering. Til ' npm ' det kan gøres ved at bruge ' -kraft ' flag og for ' garn ' det kan udføres gennem ' –ignorer-motorer ” tjek flag. Derudover kan brugeren også løse fejlen ved at ændre ' motorer ' felt af ' package-lock.json ” fil eller opgradering af Node-versionen. Dette indlæg har diskuteret alle mulige årsager sammen med deres løsning til at løse fejlen 'Kan ikke finde modul' ved hjælp af Node.js.