Bralci, kot ste vi, pomagajo podpirati MUO. Ko opravite nakup prek povezav na našem spletnem mestu, lahko zaslužimo partnersko provizijo. Preberi več.

Ena najboljših lastnosti Node so upravitelji paketov. Obstaja veliko različnih načinov za namestitev in upravljanje paketov vozlišč. Tukaj si bomo ogledali prednosti in slabosti uporabe enega upravitelja paketov ali uporabe več kot enega upravitelja paketov ter nekaj najboljših načinov za njihovo skupno uporabo.

Sprašujete, kaj je upravitelj paketov? Preberite, če želite izvedeti.

Kaj so upravitelji paketov?

V svetu razvoja programske opreme so odvisnosti tisto, kar potrebujete za izvajanje svojega projekta. So kot sestavine v receptu: brez njih se nič ne zgodi.

Na primer, če pišete aplikacijo, ki uporablja JavaScript, in želi dostop do nekaterih funkcij iz knjižnico, imenovano jQuery (ki ga je nekoč uporabljalo veliko spletnih mest), bo jQuery ena od vaših odvisnosti. Potrebovali ga boste namestiti, da bo lahko nekdo, ko obišče vaše spletno mesto, videl tiste kul animacije ali interakcije, ki ste jih ustvarili z njim!

instagram viewer

Upravitelji paketov pomagajo upravljati ta razmerja med projekti tako, da namesto nas upravljajo odvisnosti, tako da nam ni treba skrbeti, da bi jih sami ročno prenesli vsak ko želimo dodati ali posodobiti nekaj novega – prav tako poskrbijo, da vse skupaj pravilno deluje in teče gladko, ko je nameščeno (kar je včasih lažje reči kot Končano).

Vozlišče je vnaprej zapakirano z upraviteljem paketov, imenovanim NPM

NPM je privzeti upravitelj paketov in je kot tak vgrajen v izvajalno okolje vozlišča. NPM lahko uporabite za namestitev paketov iz GitHub oz NPM neposredno. Svoje pakete lahko tudi objavite na tem mestu, tako da jih lahko drugi namestijo s svojo različico NPM.

NPM se ne uporablja le za nameščanje paketov; obravnava tudi reševanje odvisnosti in konflikte različic med dvema ali več zahtevanimi knjižnicami ali moduli v vaši bazi kode aplikacije.

To pomeni, da če obstaja več različic nečesa podobnega Express teče na vašem strežniku v danem trenutku bo NPM poskrbel, da vsaka instanca dobi, kar potrebuje, ne da bi prišlo do spora z drugi primeri, ki opravljajo podobno delo - in vse to brez potrebe po tem, da bi od vas zahtevali, da storite kaj posebnega klicanje zahtevaj() na objektu, ko je to potrebno!

NPM je neverjetno zmogljivo orodje in z njim je enostavno začeti. Toda če ste novi v Node in JavaScriptu, je lahko težko vedeti, katera orodja so na voljo za vašo uporabo – in katera so najboljša za določen projekt.

Glavna težava NPM je počasna namestitev paketov. To ni velika težava, če le občasno izvajate skript ali dva, vendar je lahko neverjetno frustrirajoče, če poskušate zgraditi celotno aplikacijo, ki uporablja na desetine različnih knjižnic in orodja.

Preja in PNPM sta hitrejša od NPM

Yarn je varna in zanesljiva alternativa NPM, ki uporablja zaklepno datoteko za preprečevanje nenamernih prepisov in zagotavlja, da so vaše odvisnosti pravilno razrešene pri nameščanju paketov.

Ima tudi hitrejši čas namestitve kot NPM, zaradi česar je še posebej uporaben, če delate z velikimi projekti, ki imajo veliko modulov z veliko odvisnostmi.

PNPM je alternativa tako Yarn kot NPM, vendar še ni tako priljubljen, ker nima nekaterih funkcij, ki jih najdete v nobenem od njih (na primer datoteke zaklepanja). Vendar njegovi razvijalci trdijo, da lahko PNPM namesti pakete do štirikrat hitreje kot Yarn ali NPM zaradi svoje lahke narave; to pomeni tudi manjšo uporabo prostora na disku vašega računalnika!

Če gradite projekt, ki zahteva le nekaj odvisnosti, potem bo Yarn ali NPM verjetno zadostoval. Če pa delate z velikimi projekti s številnimi moduli in odvisnostmi, bi lahko bil PNPM boljša možnost za vas.

Prednosti uporabe več upraviteljev paketov

Posamezen upravitelj paketov lahko obravnava samo eno različico katere koli dane knjižnice hkrati. Če želite uporabiti dve različni različici iste knjižnice za druge projekte ali v različnih okoljih (na primer proizvodnja vs. razvoj), potem boste potrebovali dva ločena paketa, nameščena v vašem sistemu.

Avtorstvo slike: PNPM

To lahko povzroči konflikte, če oba paketa poskušata posodobiti svojo različico iste odvisnosti hkrati. Uporaba več upraviteljev paketov pomeni, da imate večji nadzor nad tem, katere odvisnosti so nameščene in kje, kar pomaga preprečiti tovrstne konflikte.

Druga prednost je, da bo pri uporabi več upraviteljev paketov vsak zagotovil svoj edinstven nabor funkcij. Nekateri so morda hitrejši od drugih; nekateri imajo morda boljše zmožnosti upravljanja odvisnosti; drugi so morda bolj primerni za razvoj aplikacij v določenih okvirih, kot sta ReactJS ali VueJS itd.

Končno lahko uporaba več upraviteljev paketov pomaga izboljšati produktivnost vašega razvijalca, tako da skrajša čas, porabljen za iskanje in nameščanje odvisnosti. To je zato, ker bo vsak upravitelj paketov zasnovan z upoštevanjem določenega niza primerov uporabe (na primer hitrost vs. varnost vs. upravljanje odvisnosti itd...).

Uporabite več upraviteljev paketov tako, da jih namestite globalno

Z ukazno vrstico lahko določite, kateri upravitelj paketov želite uporabiti za določen projekt. Nastavite več upraviteljev paketov na vašem računalniku:

  • NPM je predpakiran z Node. To vam bo omogočilo namestitev drugih paketov (in upraviteljev paketov) iz ukazne vrstice in upravljanje odvisnosti v vseh vaših projektih z NPM. Koristno je tudi, če želite zagnati skripte NPM v brskalniku (npr. Webpack), ker brskalniki nimajo vnaprej nameščenega NPM!
  • Namestite Yarn tudi globalno z uporabo NPM. To je še ena priljubljena možnost za upravljanje odvisnosti znotraj projektov JavaScript; ima nekaj prednosti pred NPM, zaradi katerih je morda bolj primeren za nekatere vrste projektov ali skupin
  • Nazadnje namestite PNPM. Ta upravitelj paketov je fork NPM, ki je zasnovan tako, da je hitrejši in stabilnejši. Ima tudi nekaj dodatnih funkcij, ki so lahko uporabne za nekatere vrste projektov, kot je podpora za odvisnosti od GitHub.

Upoštevajte, da globalna namestitev pomeni, da bo izbrani paket na voljo celotnemu sistemu (lahko dostopate do program kjerkoli prek ukazne vrstice), medtem ko je do lokalne namestitve mogoče dostopati samo s trenutno delujočo imenik.

Primeri iz resničnega sveta, kako lahko uporabite več upraviteljev paketov

Oglejte si te uporabe:

1. Preja in NPM se lahko uporabljata skupaj (npr. create-react-aplikacija)

To je uporabno, če želite izkoristiti hitrost in učinkovitost Yarna, hkrati pa ohraniti združljivost s paketi NPM. Če potrebujete najnovejšo različico knjižnice, ki še ni bila posodobljena za združljivost s Yarn, ali če obstaja drug razlog zakaj bi vaša ekipa raje vztrajala pri NPM kljub počasnejši hitrosti ali omejenem naboru funkcij, potem bi to morda dobro delovalo za vas projekt. Pomaga tudi pri izogibanju dvema ločenima drevesoma odvisnosti v nastavitvi mono repoja!

2. Uporaba preje za globalne pakete in PNPM za lokalne namestitve

Čeprav je PNPM najhitrejši upravitelj paketov, ga je lahko težko uporabljati za globalno nameščene pakete. To je zato, ker uporablja drugačno strukturo datotek, kar lahko povzroči težave z združljivostjo s programi, kot je Visual Studio Code. Tukaj nastopi Yarn. Uporabite ga lahko za vaše globalno nameščene pakete, PNPM pa za lokalne namestitve. Ta rešitev je dober način, da izkoristite prednosti obeh upraviteljev paketov, ne da bi morali preveč spreminjati potek dela. S to nastavitvijo – če želite biti divji – lahko popolnoma odstranite NPM iz svojega sistema (vendar je vedno dobro imeti NPM kot rezervno kopijo).

3. Uporaba PNPM z NPM kot nadomestno možnostjo

To je dobra možnost, ki jo je treba upoštevati, če želite uporabljati PNPM, vendar ne želite, da bi se morali vsi vaši razvijalci še naučiti novega orodja. Omogoča jim, da nadaljujejo delo z NPM, dokler jim PNPM ne ustreza in ga potrebujejo za svoje delo.

Uporaba več upraviteljev paketov olajša stvari

Uporabite lahko več upraviteljev paketov. Namestite jih lahko globalno ali lokalno, in če želite določiti, kateri upravitelj paketov naj se uporablja za določen projekt, preprosto uporabite ukazno vrstico!

Če želite v sistem namestiti več upraviteljev paketov, se prepričajte, da uporabljate isto različico Node.js.

Na koncu menimo, da bi morali uporabiti več kot enega upravitelja paketov. To je odličen način, da začnete uporabljati Node in se tudi naučite nekaj novih orodij, če že poznate NPM. Če še nimate nameščenega Node, je nastavitev v sistemu Windows preprosta.