Muidugi, alustame käsitletavast probleemist.
NPM (Node Package Manager) on uskumatult kasulik tööriist, mis haldab teie projektide sõltuvusi. Siiski võib see mõnikord tekitada vigu, mis pole kohe selged. Üks selline levinud viga on kaaslaste sõltuvuse viga, täpsemalt: "Sõltuvust ei õnnestunud lahendada: npm ERR! peer react@"17.0.1" alates react-dom@17.0.1"
See tõrge võib ilmneda, kui proovite installida paketti, millel on vastastikused sõltuvused, mis teie praeguses projektis ei ole täidetud. Põhimõtteliselt eeldab pakett, mida proovite installida, et teiste pakettide teatud versioonid on juba installitud. Sel juhul küsib react-domi versioon 17.0.1 react-versiooni 17.0.1 partnerit.
Sukeldume nüüd selle probleemi lahendusse ja jätkame selle rakendamisega koodi samm-sammult selgituste jaotises.
Lahendus eakaaslaste sõltuvuse veale
Lahendus hõlmab tavaliselt kaaslaste sõltuvuse õige versiooni, antud juhul Reacti, installimist. Selleks kasutaksime üht npm-i uusimat funktsiooni, käsku „–legacy-peer-deps”.
Seda käsku kasutatakse pakettide installimisel ja see käsib npm-il eirata partnerite sõltuvusi ja jätkata installimisega. Selle kasutamiseks tehke järgmist.
npm install --legacy-peer-deps
Seda käsku kasutades installib npm sõltuvused nii, nagu kasutaks npm 7-st madalamat versiooni, kus partnerite sõltuvused ei olnud ranged.
Koodi samm-sammult selgitus
Kui käivitate käsu "–legacy-peer-deps", käivitab npm installiprotsessi. Installiprotsess kontrollib installitava paketi faili package.json. Kui nõutavad partnersõltuvuste versioonid ei ole täidetud, annab npm tavaliselt vea.
Kuid funktsiooni „–legacy-peer-deps” puhul ignoreerib npm neid rahuldamata partnerite sõltuvusi ja jätkab installimist.
npm install react-dom@17.0.1 --legacy-peer-deps
See kood installib react-domi versiooni 17.0.1, ignoreerides kaaslaste sõltuvuse nõuet.
NPM-i, teekide ja funktsioonide rubriigi mõistmine
NPM on tasuta ja avatud lähtekoodiga JavaScripti pakettide ökosüsteem, mida kasutatakse peamiselt väliste moodulite või pakettide installimiseks ja haldamiseks. Tüüpiline npm-pakett sisaldab faili „package.json”. See fail sisaldab paketi metaandmeid, nagu selle nimi, versioon, kirjeldus, autoriteave ja palju muud.
JavaScripti raamatukogud on sisuliselt korduvkasutatavad kooditükid. Need säästavad arendajaid sellest, et nad peavad kirjutama teatud koodiplokke iga kord, kui neid vaja läheb.
Funktsioon seevastu on korduvkasutatav koodiplokk, mis täidab teatud ülesande. See võib vastu võtta sisendeid ja tagastada väljundi. Funktsioon JavaScriptis määratletakse funktsiooni märksõnaga, millele järgneb nimi, millele järgnevad sulud ().
- Peer-sõltuvuse probleem ilmneb tavaliselt siis, kui paketi nõutav versioon pole õige või pole installitud. See versioon on määratud failis package.json.
- Lipu „–legacy-peer-deps” kasutamine npm-käskudes võimaldab arendajatel sellest veast mööda minna.
Pange tähele, et edaspidi peaksite tagama, et installitud on pakettide õiged versioonid, nagu arendajad on määranud, et vältida hilisemaid võimalikke funktsionaalsusprobleeme.