Jistě, začněme aktuálním problémem.
NPM (Node Package Manager) je neuvěřitelně užitečný nástroj, který spravuje závislosti vašich projektů. Někdy však může způsobit chyby, které nejsou okamžitě jasné. Jednou z takových běžných chyb je chyba vzájemné závislosti, konkrétně: `Nelze vyřešit závislost: npm ERR! peer reagovat@”17.0.1″ z reagovat-dom@17.0.1`
Tato chyba se může objevit, když se pokoušíte nainstalovat balíček, který má vzájemné závislosti, které nejsou splněny ve vašem aktuálním projektu. Balíček, který se pokoušíte nainstalovat, v podstatě očekává, že již budou nainstalovány určité verze jiných balíčků. V tomto případě verze 17.0.1 pro reakce požaduje rovnocennou verzi reakce 17.0.1.
Nyní se pojďme ponořit do řešení tohoto problému a poté pokračovat v tom, jak jej implementovat v části s podrobným vysvětlením kódu.
Řešení chyby Peer Dependency Error
Řešení by obvykle zahrnovalo instalaci správné verze partnerské závislosti, v tomto případě React. K tomu bychom použili jednu z nejnovějších funkcí npm, příkaz `–legacy-peer-deps`.
Tento příkaz se používá při instalaci balíčků a říká npm, aby ignoroval vzájemné závislosti a pokračoval v instalaci. Jak to použít:
npm install --legacy-peer-deps
Pomocí tohoto příkazu npm nainstaluje závislosti, jako by používal verzi nižší než npm 7, kde vzájemné závislosti nebyly Strict.
Vysvětlení kódu krok za krokem
Jakmile spustíte příkaz s `–legacy-peer-deps`, npm zahájí proces instalace. Proces instalace zkontroluje soubor package.json balíčku, který se pokoušíte nainstalovat. Pokud nejsou splněny požadované verze závislostí peer, obvykle npm vyvolá chybu.
S `–legacy-peer-deps` však npm tyto nenaplněné závislosti peer ignoruje a pokračuje v instalaci.
npm install react-dom@17.0.1 --legacy-peer-deps
Tento kód nainstaluje verzi 17.0.1 reag-dom, přičemž ignoruje požadavek na závislost na peer.
Pochopení nadpisu NPM, knihoven a funkcí
NPM je bezplatný a open-source balíkový ekosystém pro JavaScript, primárně se používá k instalaci a správě externích modulů nebo balíčků. Typický balíček npm obsahuje soubor 'package.json'. Tento soubor obsahuje metadata o balíčku, jako je jeho název, verze, popis, informace o autorovi a další.
Knihovny v JavaScriptu jsou v podstatě opakovaně použitelné části kódu. Ušetří vývojářům od nutnosti psát určité bloky kódu pokaždé, když jsou potřeba.
Funkce je na druhé straně znovu použitelný blok kódu, který provádí určitý úkol. Může přijímat vstupy a vracet výstup. Funkce v JavaScriptu je definována klíčovým slovem function, za nímž následuje název a za ním závorky ().
- Problém se závislostí na peer se obvykle vyskytuje, když požadovaná verze balíčku není správná nebo není nainstalována. Tato verze je uvedena v souboru package.json.
- Použití příznaku `–legacy-peer-deps` v příkazech npm umožňuje vývojářům tuto chybu obejít.
Vezměte prosím na vědomí, že v budoucnu byste se měli ujistit, že jsou nainstalovány správné verze balíčků, jak určili vývojáři, abyste se později vyhnuli případným problémům s funkčností.