Čitatelji poput vas podržavaju MUO. Kada kupite putem poveznica na našoj stranici, možemo zaraditi partnersku proviziju. Čitaj više.

Jedna od najboljih značajki Nodea su upravitelji paketa. Postoji mnogo različitih načina za instaliranje i upravljanje paketima čvorova. Ovdje ćemo pogledati prednosti i nedostatke korištenja jednog upravitelja paketa ili korištenja više od jednog upravitelja paketa, te neke od najboljih načina za njihovo zajedničko korištenje.

Pitate se što je upravitelj paketa? Čitajte dalje kako biste saznali.

Što su upravitelji paketa?

U svijetu razvoja softvera, ovisnosti su ono što vam je potrebno za pokretanje vašeg projekta. Oni su kao sastojci u receptu: bez njih se ništa ne događa.

Na primjer, ako pišete aplikaciju koja koristi JavaScript i ona želi pristup nekim funkcijama od biblioteka pod nazivom jQuery (koju su mnoge web stranice nekoć koristile), tada će jQuery biti jedna od vaših ovisnosti. Morat ćete ga instalirati tako da kada netko posjeti vašu stranicu, može vidjeti one cool animacije ili interakcije koje ste stvorili s njim!

instagram viewer

Upravitelji paketa pomažu u upravljanju tim odnosima između projekata upravljajući ovisnostima umjesto nas, tako da ne moramo brinuti o ručnom preuzimanju istih svakih kada želimo nešto novo dodano ili ažurirano—oni također osiguravaju da sve zajedno ispravno radi i radi glatko nakon instalacije (što je ponekad lakše reći nego gotovo).

Čvor dolazi unaprijed zapakiran s upraviteljem paketa koji se zove NPM

NPM je zadani upravitelj paketa i kao takav ugrađen je u runtime čvora. NPM možete koristiti za instaliranje paketa s GitHuba ili NPM direktno. Također možete objaviti svoje pakete na ovoj stranici kako bi ih drugi mogli instalirati koristeći svoju verziju NPM-a.

NPM se ne koristi samo za instaliranje paketa; također upravlja razrješenjem ovisnosti i sukobima verzija između dvije ili više potrebnih biblioteka ili modula u vašoj bazi koda aplikacije.

To znači da ako postoji više verzija nečeg sličnog Express radi na vašem poslužitelju u bilo kojem trenutku, NPM će se pobrinuti da svaka instanca dobije ono što treba bez sukoba s druge instance rade sličan posao--i sve to bez potrebe da radite bilo što posebno osim jednostavnog pozivajući zahtijevati () na objektu kad treba!

NPM je nevjerojatno moćan alat i lako je započeti s njim. Ali ako ste novi u Nodeu i JavaScriptu, može biti izazovno znati koji su alati dostupni za vašu upotrebu—i koji su najbolji za određeni projekt.

Glavni problem s NPM-om je što sporo instalira pakete. Ovo nije velika stvar ako samo povremeno pokrećete skriptu ili dvije, ali može biti nevjerojatno frustrirajuće ako pokušavate izgraditi cijelu aplikaciju koja koristi desetke različitih biblioteka i alata.

Pređa i PNPM brži su od NPM-a

Yarn je sigurna i pouzdana alternativa NPM-u koja koristi datoteku zaključavanja za sprječavanje slučajnog prepisivanja i osigurava ispravno rješavanje vaših ovisnosti prilikom instaliranja paketa.

Također ima brže vrijeme instalacije od NPM-a, što ga čini posebno korisnim ako radite s velikim projektima koji imaju mnogo modula s puno ovisnosti.

PNPM je alternativa i Yarn-u i NPM-u, ali još nije toliko popularan jer nema neke značajke koje se nalaze ni u jednom ni u drugom (kao što su zaključane datoteke). Međutim, njegovi programeri tvrde da PNPM može instalirati pakete do četiri puta brže od Yarna ili NPM-a zahvaljujući svojoj laganoj prirodi; to znači i manje prostora na disku na vašem računalu!

Ako gradite projekt koji zahtijeva samo nekoliko ovisnosti, tada će Yarn ili NPM vjerojatno biti dovoljni. Međutim, ako radite s velikim projektima s mnogo modula i ovisnosti, PNPM bi mogao biti bolja opcija za vas.

Prednosti korištenja višestrukih upravitelja paketima

Jedan upravitelj paketa može upravljati samo jednom verzijom bilo koje dane biblioteke u isto vrijeme. Ako želite koristiti dvije različite verzije iste biblioteke za druge projekte ili u različitim okruženjima (na primjer, proizvodnja vs. razvoj), tada ćete trebati dva odvojena paketa instalirana na vašem sustavu.

Kredit za sliku: PNPM

To može dovesti do sukoba ako oba paketa pokušaju ažurirati svoju verziju iste ovisnosti u isto vrijeme. Korištenje više upravitelja paketa znači da imate veću kontrolu nad time koje su ovisnosti instalirane i gdje, što pomaže u izbjegavanju ovakvih sukoba.

Još jedna prednost je ta što će pri korištenju više upravitelja paketa svaki od njih pružiti svoj jedinstveni skup značajki. Neki mogu biti brži od drugih; neki bi mogli imati bolje mogućnosti upravljanja ovisnostima; drugi bi mogli biti prikladniji za razvoj aplikacija unutar određenih okvira kao što su ReactJS ili VueJS itd...

Naposljetku, korištenje višestrukih upravitelja paketa može poboljšati produktivnost vašeg programera smanjenjem vremena utrošenog na traženje i instaliranje ovisnosti. To je zato što će svaki upravitelj paketa biti dizajniran s određenim skupom slučajeva upotrebe na umu (na primjer, brzina vs. sigurnost vs. upravljanje ovisnostima, itd...).

Koristite više upravitelja paketima tako da ih instalirate globalno

Pomoću naredbenog retka možete odrediti koji upravitelj paketa želite koristiti za određeni projekt. Postavite više upravitelja paketa na svom računalu:

  • NPM dolazi u paketu s Nodeom. To će vam omogućiti da instalirate druge pakete (i upravitelje paketa) iz naredbenog retka i upravljate ovisnostima u svim svojim projektima s NPM-om. Također je korisno ako želite pokrenuti NPM skripte u pregledniku (npr. Webpack), jer preglednici ne dolaze s unaprijed instaliranim NPM-om!
  • Instalirajte Yarn i globalno koristeći NPM. Ovo je još jedna popularna opcija za upravljanje ovisnostima unutar JavaScript projekata; ima neke prednosti u odnosu na NPM koje ga mogu učiniti poželjnijim za određene vrste projekata ili timova
  • Na kraju instalirajte PNPM. Ovaj upravitelj paketa je fork NPM-a koji je dizajniran da bude brži i stabilniji. Također ima neke dodatne značajke koje mogu biti korisne za neke vrste projekata, kao što je podrška za ovisnosti iz GitHuba.

Imajte na umu da globalna instalacija znači da će odabrani paket biti dostupan cijelom vašem sustavu (možete pristupiti program bilo gdje putem naredbenog retka), dok lokalnoj instalaciji može pristupiti samo trenutni rad imenik.

Primjeri iz stvarnog svijeta kako možete koristiti više upravitelja paketima

Provjerite ove upotrebe:

1. Pređa i NPM mogu se koristiti zajedno (npr. kreiraj-reagiraj-aplikaciju)

Ovo je korisno kada želite iskoristiti brzinu i učinkovitost Yarna, a istovremeno zadržati kompatibilnost s NPM paketima. Ako trebate najnoviju verziju biblioteke koja još nije ažurirana radi kompatibilnosti s Yarn ili ako postoji drugi razlog zašto bi se vaš tim radije držao NPM-a unatoč njegovoj sporijoj brzini ili ograničenom skupu značajki, onda bi ovo moglo dobro funkcionirati za vas projekt. Također pomaže u izbjegavanju dva odvojena stabla ovisnosti u vašem mono repo postavu!

2. Korištenje Yarna za globalne pakete i PNPM za lokalne instalacije

Iako je PNPM najbrži upravitelj paketa, može biti teško koristiti ga za globalno instalirane pakete. To je zato što koristi drugačiju strukturu datoteka što može uzrokovati probleme s kompatibilnošću s programima kao što je Visual Studio Code. Ovo je mjesto gdje Yarn stupa na scenu. Možete ga koristiti za svoje globalno instalirane pakete, a PNPM za lokalne instalacije. Ovo je rješenje dobar način da iskoristite prednosti oba upravitelja paketa bez potrebe da previše mijenjate tijek rada. S ovom postavkom—ako želite divljati—možete u potpunosti ukloniti NPM iz svog sustava (ali uvijek je lijepo imati NPM kao rezervnu kopiju).

3. Korištenje PNPM-a s NPM-om kao zamjene

Ovo je dobra opcija za razmatranje u slučaju da želite koristiti PNPM, ali ne želite da svi vaši programeri još moraju naučiti novi alat. Omogućuje im da nastave raditi s NPM-om sve dok im PNPM ne bude prikladan i ne bude im potreban za rad.

Korištenje više upravitelja paketa olakšava stvari

Možete koristiti više upravitelja paketa. Možete ih instalirati globalno ili lokalno, a ako želite odrediti koji upravitelj paketa treba koristiti za određeni projekt, samo koristite naredbeni redak!

Ako želite instalirati više upravitelja paketa na svoj sustav, provjerite koristite li istu verziju Node.js.

Zaključno, mislimo da biste trebali koristiti više od jednog upravitelja paketa. To je sjajan način da počnete koristiti Node i također naučite neke nove alate ako ste već upoznati s NPM-om. Ako već nemate instaliran Node, postavljanje je jednostavno u sustavu Windows.