Ako vyriešiť „uzol“ motora nie je kompatibilný s chybou modulu „Tento“.

Ako Vyriesit Uzol Motora Nie Je Kompatibilny S Chybou Modulu Tento



V Node.js je „ balík ” obsahuje všetky dôležité súbory modulu. Modul zodpovedá knižnici, ktorá vytvára spojenie s aplikáciou na základe jej kontextu. Všetky balíky Node.js nie sú preddefinované, väčšina z nich sú externé, ktoré je možné nainštalovať do aplikácie Node.js cez správcu balíkov „npm/yarn“.

Inštalácia externých balíkov je pomerne jednoduchá, ale niekedy sa môže stať, že používateľ pri vykonávaní tejto úlohy bude čeliť chybám. Medzi týmito chybami je chyba „Uzol motora“ je nekompatibilný s „týmto“ modulom. Jednou z nich je chyba, ktorú možno vyriešiť pomocou rôznych techník.

Rýchly prehľad





Keď je „uzol“ motora nekompatibilný s modulom „Tento“ Vyskytla sa chyba?

„Uzol“ nie je kompatibilný s modulom „Tento“ Chyba sa vyskytuje z nasledujúcich dôvodov:



Dôvod 1: Požadovaný balík nie je kompatibilný

Najčastejším dôvodom, prečo je „uzol“ nekompatibilný s chybou modulu „Tento“ je nekompatibilita medzi Node.js a požadovanou verziou balíka. Väčšinou sa s tým stretávame pri nasadzovaní aplikácie Node.js do AWS.



Dôvod 2: Staršia verzia uzla

Ďalším dôvodom je staršia verzia Node.js. Väčšinou sa s ním stretáva v operačnom systéme Ubuntu, keď sa používateľ pokúša aktualizovať verziu Node.js viackrát a súčasne s tým aktualizuje aj systémové úložiská. Z tohto dôvodu „ apt ” spustí staršiu verziu Node.js prevzatú z balíka Debian a používateľ čelí vyššie uvedenej konkrétnej chybe.





Ako vyriešiť, že „uzol“ motora nie je kompatibilný s chybou modulu „Tento“?

V tejto časti sú uvedené všetky možné funkčné riešenia na vyriešenie toho, že „uzol“ motora nie je kompatibilný s chybou modulu „Tento“:

Riešenie 1: Ignorujte kontrolu motora pomocou „npm“ a „priadze“

Prvé riešenie je „ ignorovanie kontroly motora “ pri inštalácii určeného balíka pomocou „ npm “ alebo „ priadza “správcovia balíkov. Pre „ npm “ dá sa to urobiť pomocou „ – sila “ vlajka a pre “ priadza “ túto úlohu možno vykonať pomocou „ –ignorovať-motory “vlajka.



Prvý pohyb na „ npm “správca balíkov.

Syntax (pre NPM)

inštalácia npm -- sila < balík názov >

Podľa vyššie uvedenej syntaxe „ – sila ” príznak násilne pridá zadaný balík do aplikácie Node.js

Teraz použite vyššie uvedenú syntax na inštaláciu konkrétneho balíka do aktuálnej verzie Node.js:

inštalácia npm -- silový strojopis

Vo vyššie uvedenom príkaze je nainštalovaný balík „typescript“, pričom sa ignoruje aktuálna kompatibilita verzie uzla.

Nižšie uvedený výstup ukazuje, že „ strojopis ” bol vynútene nainštalovaný v aktuálnej aplikácii Node.js. Zobrazuje tiež varovnú správu kvôli vyrovnávacej pamäti. Vykonajte „ overenie vyrovnávacej pamäte npm ” na overenie, či vyrovnávacia pamäť fungovala správne alebo nie:

Teraz ignorujte kontroly motora pomocou „ priadza ” správca balíkov pomocou nižšie uvedeného príkazu:

inštalácia priadze -- ignorovať - motory

Vyššie uvedený príkaz ignoruje kontroly motora a potvrdzuje, že „ priadza ” nenainštaluje voliteľné závislosti. ' –ignorovať-motory Príznak ” spustí príkaz “yarn install” v režime offline:

Vyššie uvedený príkaz vytvorí „ priadza.zámok ” v hlavnom adresári projektu Node.js.

' priadza ” správca balíkov vyžaduje nasledujúcu syntax na inštaláciu balíka ignorujúcu kontroly motora:

Syntax (pre priadzu)

pridať priadzu < balík názov > -- ignorovať - motory

Teraz použite vyššie napísanú syntax na inštaláciu „ strojopis ” balík globálne v operačnom systéme:

priadza globálne pridať strojopis -- ignorovať - motory

Nižšie uvedený výstup úspešne pridá projekt strojopisu globálne do aktuálneho operačného systému Windows pre všetky projekty Node.js:

Tip: Ignorujte kontroly motora pre všetky príkazy

Ak chce používateľ ignorovať kontrolu motora pre všetky príkazy, spustite nižšie uvedený príkaz spolu s „ pravda ” boolovská hodnota:

ignorovať konfiguráciu priadze - motory pravda

Vyššie uvedený príkaz informuje kompilátor, že ignoruje pole motora zadané v súbore „package.json“:

' ignorovať-motory ” kontroly boli nastavené na hodnotu true pre všetky príkazy. Teraz môže používateľ nainštalovať akýkoľvek konkrétny balík do súboru Node.js bez zadania príznaku „–ignore-engines“:

Riešenie 2: Zakážte predvolené polia motora pomocou súboru „package-lock.json“.

Ďalším riešením je upraviť „ motora ” pole z poľa “ package-lock.json “. Ak to chcete urobiť, najprv prejdite do hlavného adresára projektu Node.js a otvorte súbor „package-lock.json“.

Po otvorení cieľového súboru prejdite na „ motory ” a aktualizujte ho takto:

Stlačte ' Ctrl+S ” na uloženie vyššie uvedeného súboru. Úprava umožňuje správcovi balíkov „npm“ nainštalovať požadovanú verziu balíka, ktorá je vhodná pre verziu Node.js „>=14.17“.

Riešenie 3: Aktualizujte uzol na najnovšiu verziu

Ďalším riešením je aktualizácia verzie Node.js. Aktualizácia Node.js na všetkých operačných systémoch je pomerne jednoduchá a možno ju vykonať pomocou nižšie uvedených sprievodcov:

  • Ako aktualizovať verzie uzlov v systéme Windows?
  • Ako inovovať verziu uzla na Ubuntu?
  • Ako inovovať Node.js na najnovšiu verziu v systéme macOS?

Čo robiť, ak je „uzol“ motora nekompatibilný s „týmto“ modulom Chyba stále pretrváva?

Ak chyba „uzol motora“ nie je kompatibilná s modulom „Tento“ modul pretrváva aj po jej vyriešení ktorýmkoľvek z vyššie uvedených riešení, odstráňte „ node_modules “. Priečinok „node_modules“ sa automaticky vygeneruje, keď je nainštalovaný modul tretej strany. Obsahuje všetky balíčky tretích strán, na ktorých závisí projekt Node.js.

Navyše, „ package-lock.json ” sa automaticky vygeneruje aj pri inštalácii balíka s “npm”. Uchováva záznamy o závislostiach, ako aj o podzávislostiach, na ktorých balík závisí, spolu s ich verziami. Ak je balík nainštalovaný s „priadzou“, tento názov súboru je „ priadza.zámok “.

Riešenie: Odstráňte priečinok „node_modules“ a súbor „package-lock.json“.

Riešením vzniknutej chyby je odstrániť priečinok „node_modules“, konfiguračný súbor „package-lock.json/yarn.lock“ a znova nainštalovať požadovaný balík.

V Linuxe , vyššie uvedený priečinok alebo súbory je možné odstrániť pomocou nižšie uvedeného „ rm (odstrániť)“ príkaz:

rm - balík rf node_modules - zámok. json //Odstrániť priečinok a súbor

ls // Zobrazenie súborov a adresárov

Vo vyššie uvedenom príkaze „ -r 'príznak vymaže zadaný priečinok' rekurzívne “ vrátane všetkých jeho podadresárov a „ f 'príznak hovorí tlmočníkovi, aby vykonal túto úlohu' násilne “:

Výstup ukazuje, že priečinok „node_modules“ a súbor „package-lock.json/yarn.lock“ boli úplne odstránené:

V systéme Windows , používateľ môže odstrániť priečinok „node_modules“ a súbor „package-lock.json/yarn.lock“ jednoducho stlačením klávesu „delete“ alebo použitím možnosti „delete“ z roletového menu.

To je všetko o vyriešení chyby „Nedá sa nájsť modul“ v Node.js.

Záver

Na vyriešenie motora“ uzol“ nie je kompatibilný s modulom „Tento“. “, ignorujte kontroly motora podľa zadaného správcu balíkov. Pre „ npm “ dá sa to urobiť pomocou „ – sila “ vlajka a pre “ priadza “ možno vykonať prostredníctvom „ –ignorovať-motory “kontrolný príznak. Okrem toho môže používateľ chybu vyriešiť aj úpravou „ motory 'pole ' package-lock.json ” alebo upgrade verzie uzla. Tento príspevok diskutoval o všetkých možných dôvodoch spolu s ich riešením na vyriešenie chyby „Nedá sa nájsť modul“ pomocou Node.js.