avhengighetsoppløsning
Avhengighetsoppløsning er prosessen der et program eller prosjekt bestemmer hvilke versjoner av eksterne biblioteker som skal installeres for å oppfylle kravene i prosjektets avhengigheter. Dette inkluderer både direkte avhengigheter som er spesifisert i prosjektkonfigurasjoner og transitive avhengigheter som disse kravene selv har. Målet er å finne et konsistent sett av pakkeversjoner som tilfredsstiller alle krav samtidig og muliggjør reproduksjon av bygg og kjøretid.
I praksis bruker pakkehåndterere ofte versjonsbegrensninger (for eksempel semver-range eller eksakte versjoner) og konstruerer en avhengighetsgraf.
Utfordringer inkluderer avhengighetshelvete der oppdateringer bryter kompatibilitet, konflikter mellom transitive krav, plattformspesifikk kompatibilitet og lange kjeder
Relaterte begreper og verktøy inkluderer SemVer, løsningsalgoritmer i ulike pakkehåndterere, samt låsefiler og uttrykk for krav