Cum se rezolvă „nodul” motorului este incompatibil cu eroarea modulului „Acest”

Cum Se Rezolva Nodul Motorului Este Incompatibil Cu Eroarea Modulului Acest



În Node.js, „ pachet ” conține toate fișierele importante ale unui modul. Un modul corespunde unei biblioteci care construiește o conexiune cu o aplicație pe baza contextului acesteia. Toate pachetele Node.js nu sunt predefinite, majoritatea sunt externe care pot fi instalate în aplicația Node.js prin intermediul managerului de pachete „npm/yarn”.

Instalarea pachetelor externe este destul de simplă, însă uneori utilizatorul se poate confrunta cu unele erori în timpul efectuării acestei sarcini. Printre aceste erori, eroarea „Nodul” motorului este incompatibil cu „Acest” Modul” este una dintre ele care poate fi rezolvată urmând diferite tehnici.

Schiță rapidă





Când „nodul” motorului este incompatibil cu „Acest” modul Apare eroare?

„Nodul” este incompatibil cu „Acest” Modul. Eroarea apare din următoarele motive:



Motivul 1: Pachetul necesar nu este compatibil

Cel mai frecvent motiv pentru care „nodul” este incompatibil cu eroarea modulului „Acest” se datorează incompatibilității dintre Node.js și versiunea de pachet necesară. Se confruntă mai ales în timpul implementării aplicației Node.js pe AWS.



Motivul 2: versiunea mai veche a nodului

Un alt motiv este versiunea mai veche a Node.js. Se confruntă în principal în sistemul de operare Ubuntu atunci când utilizatorul încearcă să actualizeze versiunea Node.js de mai multe ori și, de asemenea, actualizează depozitele de sistem împreună cu aceasta. Din acest motiv, „ apt ” comanda va porni o versiune mai veche a Node.js preluată din pachetul Debian și utilizatorul se confruntă cu eroarea de mai sus.





Cum se rezolvă că „nodul” motorului este incompatibil cu eroarea modulului „Acest”?

Această secțiune include toate soluțiile posibile viabile pentru a rezolva „nodul” motorului este incompatibil cu eroarea modulului „Acest”:

Soluția 1: Ignorați verificarea motorului folosind „npm” și „yarn”

Prima soluție este „ ignorând verificarea motorului ” în timp ce instalați pachetul specificat utilizând „ npm ” sau ” fire ” manageri de pachete. Pentru ' npm „ se poate face folosind „ -forta „steagul și pentru „ fire ” această sarcină poate fi efectuată utilizând „ – ignora-motoare ' steag.



Prima mișcare pe „ npm ” manager de pachete.

Sintaxă (pentru NPM)

instalare npm -- forta < pachet Nume >

Conform sintaxei de mai sus, „ -forta ” flag adaugă forțat pachetul specificat în aplicația Node.js

Acum utilizați sintaxa de mai sus pentru a instala un anumit pachet în versiunea curentă Node.js:

instalare npm -- forţa dactilografiată

În comanda de mai sus, pachetul „typescript” este instalat ignorând compatibilitatea versiunii curente Node.

Rezultatul de mai jos arată că „ dactilografiat ” a fost instalat cu forță în aplicația actuală Node.js. De asemenea, afișează un mesaj de avertizare din cauza memoriei cache. Executați „ verificare cache npm ” comandă pentru a verifica dacă memoria cache a funcționat corect sau nu:

Acum ignorați verificările motorului folosind „ fire ” manager de pachete cu ajutorul comenzii de mai jos:

instalarea firelor -- ignora - motoare

Comanda de mai sus ignoră verificările motorului și confirmă că „ fire ” nu instalează dependențele opționale. „ – ignora-motoare ” flag rulează comanda „instalare fire” în modul offline:

Comanda de mai sus creează un „ fire.blocare ” în directorul principal al proiectului Node.js.

fire ” Managerul de pachete necesită următoarea sintaxă pentru a instala un pachet ignorând verificările motorului:

Sintaxă (Pentru fire)

adaugă fire < pachet Nume > -- ignora - motoare

Acum utilizați sintaxa scrisă mai sus pentru a instala un „ dactilografiat ” pachet la nivel global într-un sistem de operare:

yarn global add typescript -- ignora - motoare

Rezultatul de mai jos adaugă cu succes proiectul dactilograf la nivel global în sistemul de operare Windows actual pentru toate proiectele Node.js:

Sfat: Ignorați verificările motorului pentru toate comenzile

Dacă utilizatorul dorește să ignore verificarea motorului pentru toate comenzile, atunci rulați comanda de mai jos împreună cu „ Adevărat ” valoare booleană:

set de configurare a firelor ignora - motoare Adevărat

Comanda de mai sus îi spune compilatorului că ignoră câmpul motor specificat în fișierul „package.json”:

ignora-motoare ” verificările au fost setate la adevărat pentru toate comenzile. Acum, utilizatorul poate instala orice pachet specific în Node.js fără a specifica indicatorul „–ignore-engines”:

Soluția 2: Dezactivați câmpurile implicite ale motorului folosind fișierul „package-lock.json”.

Următoarea soluție este modificarea „ motor ' câmpul din ' package-lock.json ” dosar. Pentru a face acest lucru, mai întâi, navigați la directorul principal al proiectului Node.js și deschideți fișierul „package-lock.json”.

Odată ce fișierul vizat este deschis, treceți la „ motoare ” și actualizați-l în acest fel:

Presa ' Ctrl+S ” pentru a salva fișierul de mai sus. Modificarea permite managerului de pachete „npm” să instaleze versiunea de pachet necesară, care este potrivită pentru versiunea Node.js „>=14.17”.

Soluția 3: Actualizați Node la cea mai recentă versiune

O altă soluție este actualizarea versiunii Node.js. Actualizarea Node.js pe toate sistemele de operare este destul de ușoară și poate fi efectuată cu ajutorul ghidurilor de mai jos:

  • Cum se actualizează versiunile nodului pe Windows?
  • Cum să actualizați versiunea Node pe Ubuntu?
  • Cum să actualizați Node.js la cea mai recentă versiune pe macOS?

Ce trebuie să faceți dacă „nodul” motorului este incompatibil cu eroarea modulului „acest” încă persistă?

Dacă „nodul” motorului este incompatibil cu modulul „Acest” eroarea persistă după rezolvarea acesteia cu oricare dintre soluțiile de mai sus, ștergeți „ module_noduri ” dosar. Dosarul „node_modules” se generează automat atunci când este instalat un modul terță parte. Conține toate pachetele terțe de care depinde proiectul Node.js.

În plus, „ package-lock.json ” fișierul se generează, de asemenea, automat atunci când un pachet este instalat cu „npm”. Păstrează evidența dependențelor, precum și a subdependențelor de care depinde pachetul împreună cu versiunile acestora. Dacă pachetul este instalat cu „yarn”, atunci acest nume de fișier este „ fire.blocare ”.

Soluție: Eliminați folderul „node_modules” și fișierul „package-lock.json”.

Soluția pentru eroarea întâlnită este să ștergeți folderul „node_modules”, fișierul de configurare „package-lock.json/yarn.lock” și să instalați din nou pachetul necesar.

În Linux , folderul sau fișierele specificate mai sus pot fi șterse cu ajutorul textului „ rm (eliminare)” comanda:

rm - pachetul rf node_modules - Lacăt. json //Ștergeți folderul și fișierul

ls // Afișează fișierul și directoarele

În comanda de mai sus, „ -r ' flag șterge folderul specificat ' recursiv ” inclusiv toate subdirectoarele sale și „ f ” flag îi spune interpretului să efectueze această sarcină ” fortat ”:

Rezultatul arată că folderul „node_modules” și fișierul „package-lock.json/yarn.lock” au fost eliminate complet:

În Windows , utilizatorul poate șterge folderul „node_modules” și fișierul „package-lock.json/yarn.lock” prin simpla apăsare a tastei „Ștergere” sau folosind opțiunea „Ștergere” din meniul derulant.

Acesta este totul despre rezolvarea erorii „Modulul nu se găsește” în Node.js.

Concluzie

Pentru a rezolva motorul ' nod” este incompatibil cu modulul „Acest”. ”, ignorați verificările motorului conform managerului de pachete specificat. Pentru ' npm „ se poate face folosind „ -forta ', iar pentru ' fire ” se poate realiza prin intermediul ” – ignora-motoare ” steagul de verificare. În plus, utilizatorul poate rezolva eroarea prin modificarea „ motoare „câmpul „ package-lock.json ” sau actualizarea versiunii Node. Această postare a discutat toate motivele posibile împreună cu soluția lor pentru a rezolva eroarea „Modulul nu se poate găsi” folosind Node.js.