Naravno, počnimo s problemom o kojem se radi.
NPM (Node Package Manager) je nevjerojatno koristan alat koji upravlja ovisnostima vaših projekata. Međutim, ponekad može izazvati pogreške koje nisu odmah jasne. Jedna takva uobičajena pogreška je pogreška ovisnosti ravnopravnih korisnika, konkretno: `Nije moguće razriješiti ovisnost: npm GREŠKA! peer react@”17.0.1″ od react-dom@17.0.1`
Ova se pogreška može pojaviti kada pokušavate instalirati paket koji ima ovisnosti o peer-u koji nisu ispunjeni u vašem trenutnom projektu. U biti, paket koji pokušavate instalirati očekuje da su određene verzije drugih paketa već instalirane. U ovom slučaju, react-dom verzija 17.0.1 traži ravnopravnog partnera react verzije 17.0.1.
Uronimo sada u rješenje ovog problema, a zatim nastavimo kako ga implementirati u odjeljku s objašnjenjem koda korak po korak.
Rješenje za pogrešku ovisnosti ravnopravnih korisnika
Rješenje bi obično uključivalo instaliranje ispravne verzije peer ovisnosti, u ovom slučaju React. Za ovo bismo upotrijebili jednu od najnovijih značajki npm-a, naredbu `–legacy-peer-deps`.
Ova se naredba koristi prilikom instaliranja paketa i govori npm-u da zanemari ovisnosti o peer-u i nastavi s instalacijom. Evo kako ga koristiti:
npm install --legacy-peer-deps
Pomoću ove naredbe npm će instalirati ovisnosti kao da koristi verziju ispod npm 7, gdje ovisnosti ravnopravnih korisnika nisu stroge.
Korak po korak objašnjenje koda
Nakon što pokrenete naredbu s `–legacy-peer-deps`, npm će pokrenuti proces instalacije. Proces instalacije provjerava datoteku package.json paketa koji pokušavate instalirati. Ako potrebne verzije peer ovisnosti nisu ispunjene, npm bi obično izbacio pogrešku.
Međutim, s `–legacy-peer-deps`, npm zanemaruje te neispunjene ovisnosti o ravnopravnim korisnicima i nastavlja s instalacijom.
npm install react-dom@17.0.1 --legacy-peer-deps
Ovaj će kod instalirati verziju 17.0.1 react-doma, zanemarujući zahtjev ovisnosti o peer-u.
Razumijevanje naslova NPM, knjižnice i funkcije
NPM je besplatni ekosustav paketa otvorenog koda za JavaScript, prvenstveno se koristi za instaliranje i upravljanje vanjskim modulima ili paketima. Tipični npm paket sadrži datoteku 'package.json'. Ova datoteka uključuje metapodatke o paketu poput naziva, verzije, opisa, podataka o autoru i više.
Knjižnice u JavaScriptu u biti su dijelovi koda koji se mogu ponovno koristiti. Oni spašavaju programere od pisanja određenih blokova koda svaki put kad su im potrebni.
Funkcija je, s druge strane, višekratni blok koda koji obavlja određeni zadatak. Može prihvatiti ulaze i vratiti izlaz. Funkcija u JavaScriptu definirana je ključnom riječi function, iza koje slijedi naziv, iza kojeg slijede zagrade ().
- Problem ovisnosti o ravnopravnom uređaju obično se javlja kada potrebna verzija paketa nije ispravna ili nije instalirana. Ova je verzija navedena u datoteci package.json.
- Korištenje oznake `–legacy-peer-deps` u npm naredbama omogućuje programerima da zaobiđu ovu pogrešku.
Napominjemo da biste ubuduće željeli osigurati da su ispravne verzije paketa instalirane kako su odredili razvojni programeri kako biste kasnije izbjegli moguće probleme s funkcionalnošću.