Mootori 'sõlme' lahendamine ei ühildu 'selle' mooduli veaga

Mootori Solme Lahendamine Ei Uhildu Selle Mooduli Veaga



Programmis Node.js on ' pakett ” sisaldab kõiki mooduli olulisi faile. Moodul vastab raamatukogule, mis loob konteksti alusel ühenduse rakendusega. Kõik Node.js-i paketid ei ole eelnevalt määratletud, enamik neist on välised, mida saab installida Node.js-i rakendusse paketihalduri 'npm/yarn' kaudu.

Väliste pakettide installimine on üsna lihtne, kuid mõnikord võib kasutaja selle ülesande täitmisel esineda vigu. Nende vigade hulgas on viga 'Mootori 'sõlm' ei ühildu 'selle mooduliga' üks neist, mida saab lahendada erinevate tehnikate järgimisega.

Kiire ülevaade







Kui mootori 'sõlm' ei ühildu 'selle' mooduliga, ilmneb tõrge?

'Sõlm' ei ühildu mooduliga 'See' ilmneb tõrge järgmistel põhjustel.



Põhjus 1: nõutav pakett ei ühildu

Kõige tavalisem põhjus, miks 'sõlm' mooduli 'See' veaga ei ühildu, on Node.js ja nõutava paketiversiooni vaheline ühildumatus. Enamasti puututakse sellega kokku Node.js-i rakenduse AWS-i juurutamisel.



2. põhjus: sõlme vanem versioon

Teine põhjus on Node.js-i vanem versioon. Enamasti puutub see kokku Ubuntu operatsioonisüsteemis, kui kasutaja proovib Node.js versiooni mitu korda värskendada ja värskendab koos sellega ka süsteemi hoidlaid. Sel põhjusel on ' asjakohane ” käsk käivitab vanema Debiani paketist võetud Node.js versiooni ja kasutaja seisab silmitsi ülaltoodud konkreetse veaga.





Kuidas lahendada mootori 'sõlm' ei ühildu 'selle' mooduli veaga?

See jaotis sisaldab kõiki võimalikke toimivaid lahendusi, et lahendada mootori 'sõlm' ja 'See' mooduli tõrge:

Lahendus 1: ignoreerige mootori kontrolli, kasutades 'npm' ja 'lõng'

Esimene lahendus on ' mootori kontrolli eirates ' installides määratud paketi, kasutades ' npm ” või „ lõng ” paketihaldurid. ' jaoks' npm ' saab seda teha kasutades ' - jõud ' lipp ja ' lõng Seda ülesannet saab teha kasutades - ignoreerige mootoreid ” lipp.



Kõigepealt liikuge edasi ' npm ” paketihaldur.

Süntaks (NPM-i jaoks)

npm installimine -- jõudu < pakett nimi >

Ülaltoodud süntaksi kohaselt on ' - jõud ” lipp lisab määratud paketi jõuliselt rakendusse Node.js

Nüüd kasutage ülaltoodud süntaksit konkreetse paketi installimiseks praegusesse Node.js-i versiooni:

npm installimine -- jõud masinakiri

Ülaltoodud käsus installitakse masinakirjapakett, ignoreerides praegust Node versiooni ühilduvust.

Allolev väljund näitab, et ' masinakiri ” pakett on praegusesse Node.js-i rakendusse jõuliselt installitud. Samuti kuvatakse vahemälu tõttu hoiatusteade. Käivitage ' npm vahemälu kontrollimine ” käsk, et kontrollida, kas vahemälu töötas korralikult või mitte:

Nüüd ignoreerige mootori kontrolle, kasutades ' lõng ” paketihaldur alltoodud käsu abil:

lõnga paigaldamine -- ignoreerida - mootorid

Ülaltoodud käsk ignoreerib mootori kontrolle ja kinnitab, et lõng ” ei installi valikulisi sõltuvusi. ' - ignoreerige mootoreid ” lipp käivitab võrguühenduseta režiimis käsu „lõnga installimine”:

Ülaltoodud käsk loob ' lõng.lukk ” faili Node.js projekti põhikataloogis.

' lõng ” paketihaldur nõuab mootori kontrolle ignoreeriva paketi installimiseks järgmist süntaksit:

Süntaks (lõnga jaoks)

lisa lõng < pakett nimi > -- ignoreerida - mootorid

Nüüd kasutage ülal kirjutatud süntaksit, et installida ' masinakiri ” pakett globaalselt operatsioonisüsteemis:

lõnga globaalne lisada masinakiri -- ignoreerida - mootorid

Allolev väljund lisab edukalt masinakirjaprojekti globaalselt praeguses Windowsi operatsioonisüsteemis kõigi Node.js projektide jaoks:

Näpunäide. Ignoreeri mootori kontrolle kõigi käskude puhul

Kui kasutaja soovib mootori kontrollimist kõigi käskude puhul ignoreerida, käivitage alltoodud käsk koos käsuga ' tõsi ” Boolean väärtus:

lõnga konfiguratsioonikomplekti ignoreerida - mootorid tõsi

Ülaltoodud käsk ütleb kompilaatorile, mis eirab failis „package.json” määratud mootorivälja:

' ignoreeri-mootoreid ” kontrollid on kõikide käskude puhul seatud tõeseks. Nüüd saab kasutaja Node.js-i installida mis tahes konkreetse paketi ilma lippu „–ignore-engines” määramata:

Lahendus 2: keelake mootori vaikeväljad, kasutades faili „package-lock.json”.

Järgmine lahendus on muuta ' mootor ' väljalt ' package-lock.json ” faili. Selleks navigeerige esmalt projekti Node.js põhikataloogi ja avage fail „package-lock.json”.

Kui sihitud fail on avatud, liikuge jaotisesse ' mootorid ” välja ja värskendage seda järgmiselt:

Vajutage ' Ctrl+S ” ülaltoodud faili salvestamiseks. Muudatus võimaldab paketihalduril “npm” installida vajaliku paketi versiooni, mis sobib Node.js versiooniga “>=14.17”.

Lahendus 3: värskendage sõlme uusimale versioonile

Teine lahendus on Node.js-i versiooni värskendamine. Node.js-i värskendamine kõigis operatsioonisüsteemides on üsna lihtne ja seda saab teha alltoodud juhendite abil:

  • Kuidas värskendada sõlme versioone Windowsis?
  • Kuidas uuendada Ubuntu sõlme versiooni?
  • Kuidas uuendada Node.js macOS-is uusimale versioonile?

Mida teha, kui mootori 'sõlm' ei ühildu mooduliga 'Selle' tõrge püsib endiselt?

Kui viga 'mootori 'sõlm' ei ühildu mooduliga 'See' püsib pärast selle lahendamist mõne ülaltoodud lahendusega, kustutage ' node_modules ” kausta. Kaust 'node_modules' genereeritakse automaatselt, kui installitakse kolmanda osapoole moodul. See sisaldab kõiki kolmanda osapoole pakette, millest Node.js projekt sõltub.

Veelgi enam, ' package-lock.json ” fail genereeritakse automaatselt ka siis, kui pakett on installitud koos „npm”-ga. See säilitab nii sõltuvuste kui ka alamsõltuvuste arvestust, millest pakett sõltub, ja nende versioonid. Kui pakett on installitud koos 'lõngaga', on selle faili nimi ' lõng.lukk ”.

Lahendus. Eemaldage kaust 'node_modules' ja fail 'packa-lock.json'.

Ilmunud vea lahenduseks on kaust “node_modules”, konfiguratsioonifail “package-lock.json/yarn.lock” kustutamine ja nõutava paketi uuesti installimine.

Linuxis , saab ülaltoodud kausta või faile kustutada alltoodud ' rm (eemalda)” käsk:

rm - rf node_modules pakett - lukk. json //Kausta ja faili kustutamine

ls // Kuva failid ja kataloogid

Ülaltoodud käsus ' -r ' lipp kustutab määratud kausta ' rekursiivselt ', sealhulgas kõik selle alamkataloogid ja ' f ' lipp käsib tõlgil seda ülesannet täita ' jõuliselt ”:

Väljund näitab, et kaust 'node_modules' ja fail 'package-lock.json/yarn.lock' on täielikult eemaldatud:

Windowsis , saab kasutaja kustutada kausta 'node_modules' ja faili 'package-lock.json/yarn.lock', vajutades lihtsalt klahvi 'delete' või kasutades rippmenüüst valikut 'kustuta'.

See kõik puudutab Node.js-i vea „Moodulit ei leia” lahendamist.

Järeldus

Mootori lahendamiseks ' node' ei ühildu mooduliga 'See'. ” tõrge, ignoreerige mootori kontrolle vastavalt määratud paketihaldurile. ' jaoks' npm ' saab seda teha kasutades ' - jõud ' lipp ja ' lõng 'Seda saab teha läbi' - ignoreerige mootoreid ” kontrolllipp. Lisaks saab kasutaja tõrke lahendada, muutes mootorid väljale ' package-lock.json ” faili või sõlme versiooni uuendamist. Selles postituses on käsitletud kõiki võimalikke põhjuseid ja nende lahendust tõrke „Moodulit ei leia” lahendamiseks Node.js-i abil.