Jada, la oss starte med problemet.
NPM (Node Package Manager) er et utrolig nyttig verktøy som styrer avhengighetene til prosjektene dine. Imidlertid kan det noen ganger gi feil som ikke er umiddelbart klare. En slik vanlig feil er peer-avhengighetsfeilen, spesifikt: `Kunne ikke løse avhengighet: npm ERR! peer react@”17.0.1″ fra react-dom@17.0.1`
Denne feilen kan vises når du prøver å installere en pakke som har peer-avhengigheter som ikke oppfylles i det nåværende prosjektet. I hovedsak forventer pakken du prøver å installere at visse versjoner av andre pakker allerede er installert. I dette tilfellet ber react-dom versjon 17.0.1 om en peer of react versjon 17.0.1.
La oss nå dykke inn i løsningen på dette problemet, og deretter fortsette med hvordan du implementerer det i trinn-for-trinn kodeforklaringsdelen.
Løsning på Peer Dependency-feilen
Løsningen vil typisk innebære å installere riktig versjon av peer-avhengigheten, i dette tilfellet React. For dette vil vi bruke en av de nyeste funksjonene til npm, kommandoen `–legacy-peer-deps`.
Denne kommandoen brukes når du installerer pakker, og den forteller npm å ignorere peer-avhengigheter og fortsette med installasjonen. Slik bruker du det:
npm install --legacy-peer-deps
Ved å bruke denne kommandoen vil npm installere avhengighetene som om den brukte en versjon under npm 7, der peer-avhengigheter ikke var Strict.
Trinn-for-trinn kodeforklaring
Når du kjører kommandoen med `–legacy-peer-deps`, vil npm starte installasjonsprosessen. Installasjonsprosessen sjekker package.json-filen til pakken du prøver å installere. Hvis de nødvendige versjonene av peer-avhengigheter ikke er oppfylt, vil npm vanligvis gi en feil.
Men med `–legacy-peer-deps` ignorerer npm disse uoppfylte peer-avhengighetene og fortsetter med installasjonen.
npm install react-dom@17.0.1 --legacy-peer-deps
Denne koden vil installere versjon 17.0.1 av react-dom, og ignorerer kravet om jevnaldrende avhengighet.
Forstå overskriften NPM, biblioteker og funksjoner
NPM er et gratis og åpen kildekode-pakkeøkosystem for JavaScript, det brukes først og fremst til å installere og administrere eksterne moduler eller pakker. En typisk npm-pakke inneholder en 'package.json'-fil. Denne filen inneholder metadata om pakken som navn, versjon, beskrivelse, forfatterinformasjon og mer.
Biblioteker i JavaScript er i hovedsak gjenbrukbare kodebiter. De sparer utviklere fra å måtte skrive visse blokker med kode hver gang de trengs.
Funksjon, på den annen side, er en gjenbrukbar kodeblokk som utfører en bestemt oppgave. Den kan godta innganger og returnere en utgang. En funksjon i JavaScript er definert med funksjonsnøkkelordet, etterfulgt av et navn, etterfulgt av parenteser ().
- Peer-avhengighetsproblemet oppstår vanligvis når den nødvendige versjonen av en pakke ikke er riktig, eller ikke er installert. Denne versjonen er spesifisert i filen package.json.
- Ved å bruke `–legacy-peer-deps`-flagget i npm-kommandoer lar utviklere omgå denne feilen.
Vær oppmerksom på at fremover vil du sørge for at de riktige versjonene av pakkene er installert som spesifisert av utviklerne for å unngå potensielle funksjonsproblemer senere.