3 Top Node.js pakkehåndtering til Linux


Node.js er et af de mest populære programmeringssprog, der rokker softwareudviklingsindustrien i hele verden. Mens der udvikles og bruges Node.js-applikationer, er en almindelig software, som udviklere og almindelige brugere altid vil stole på, en pakkehåndtering.

En Node.js-pakkehåndterer interagerer med online pakkeopbevaringssteder (der indeholder Node.js-biblioteker, applikationer og relaterede pakker) og hjælper på mange måder, herunder pakkeinstallation og afhængighedsstyring. Nogle pakkeforvaltere har også projektledelseskomponenter.

For eksempel, hvis du skriver en webapplikation og indser, at et gratis eksternt bibliotek, der implementerer en given funktionalitet i din applikation allerede findes i et offentligt arkiv, kan du bruge en pakkehåndtering til at installere det på dit system i applikationsmappen og integrere det med din ansøgning.

Pakkehåndteringen hjælper også med at specificere biblioteket som en afhængighed af din applikation, så ethvert system, hvor applikationen er installeret, biblioteket også installeres, så applikationen fungerer korrekt.

I denne artikel vil vi gennemgå de øverste Node.js-pakkeforvaltere, som du kan installere på et Linux-system.

1. NPM - Node.js pakkehåndtering

npm behøver ingen introduktion i Node.js-økosystemet. Men hvad er npm? npm er virkelig en kombination af mange ting - det er en Node-pakkehåndtering, npm Registry og npm kommandolinjeklient.

For det første er npm en pakkehåndterer på tværs af platforme, der er udviklet til at hjælpe JavaScript-udviklere med let at dele deres kode i form af pakker. For at installere og udgive pakker bruger udviklere en kommandolinjeklient kaldet npm, som også bruges til versionstyring og afhængighedsstyring. Det kører på Linux og andre UNIX-lignende systemer, Windows og macOS.

Derudover er npm også et sikkert online-arkiv til udgivelse af open-source Node.js-projekter såsom biblioteker og applikationer. Det er et af de mest populære og største open source softwarelister på internettet. Du kan bruge det gratis, en mulighed, der giver dig mulighed for at oprette offentlige pakker, offentliggøre opdateringer, kontrollere dine afhængigheder og gøre mere.

Alternativt kan du tilmelde dig npm Pro for at nyde en premium-udviklingsoplevelse, der kommer med mange fordele såsom private arkiver. Store udviklingsteam, der arbejder med forretningskritiske projekter, kan vælge npm Enterprise, som giver dem mulighed for at udvikle pakker internt, som ikke deles offentligt.

Kommandolinjeklienten til npm distribueres med Node.js-pakken, det betyder, at når du installerer Node.js på dit Linux-system, får du også automatisk npm installeret. Interessant nok bruges npm til at installere al den anden Node.js pakkehåndtering, der er beskrevet nedenfor.

npm understøtter også JavaScript-sikkerhed ved at integrere npm med tredjepartsværktøjer, såsom CI/CD-systemer (kontinuerlig integration/kontinuerlig levering) og meget mere.

For at installere den nyeste version af Node.js og NPM på Linux-systemer skal du følge kommandoerne på din respektive Linux-distribution.

$ curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
$ sudo apt-get install -y nodejs
# curl -sL https://rpm.nodesource.com/setup_14.x | bash -
# yum -y install nodejs
Or
# dnf -y install nodejs

2. Garn - Node.js pakkehåndtering

Garn er ikke kun en hurtig, sikker, pålidelig og open source-pakkehåndtering, men det er også en projektleder til stabile og reproducerbare projekter. Garn fungerer overalt: på Linux, Windows og macOS og andre UNIX-lignende operativsystemer, der understøtter Node.js.

Som pakkehåndtering giver det dig mulighed for at dele din kode gennem en pakke med andre udviklere i hele verden. På samme måde kan du også bruge kode fra andre udviklere i din applikation.

Garn understøtter arbejdsområder til små, mellemstore til store monorepo-projekter ved at give dig mulighed for at opdele dit projekt i underkomponenter, der er gemt i et enkelt arkiv. Et andet nøglefunktion i Garn er offline-cachen, som gør det muligt at fungere fint, selv når netværket er nede.

Garn leveres også med en modulær API, der kan udvides gennem plugins. Du kan bruge officielle plugins eller skrive dine egne. Plugins kan bruges til at tilføje nye funktioner, nye opløsere, nye linkere, nye kommandoer, registrere til nogle begivenheder og kan integreres med hinanden. Derudover har den en Plug'n'Play (PnP) API, der giver dig mulighed for at introspektere afhængighedstræet ved kørsel.

Desuden er Garn også veldokumenteret, og nogle af dets funktioner er stadig i inkubation, såsom begrænsninger, frigør arbejdsgang og "zero-install", hvilket er mere en filosofi end en funktion.

For at installere den nyeste version af garn på Linux-systemer skal du først installere Node.js på systemet og derefter installere garnet ved hjælp af følgende kommandoer på din respektive Linux-distribution.

$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
$ echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
$ sudo apt update
$ sudo apt install yarn
# curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
# rpm --import https://dl.yarnpkg.com/rpm/pubkey.gpg
# yum install yarn
OR
# dnf install yarn

3. Pnpm - Node.js pakkehåndtering

pnpm er en hurtig, diskpladseffektiv og open source-pakkehåndtering. Det er på tværs af platforme, det fungerer på Linux, Windows og macOS. I modsætning til npm og garn, der skaber flad node_modules-bibliotek, fungerer pnpm lidt anderledes: det skaber et ikke-fladt node_modules-layout, der bruger symbolske links til at skabe en indlejret struktur af afhængigheder.

Filerne inde i node_modules er linket fra enkelt indholdsadresserbart lager. Denne tilgang er effektiv, så den giver dig mulighed for at spare gigabyte diskplads.

Den ikke-flade node_modules-tilgang gør også pnpm streng, når det kommer til afhængighedsstyring, det giver en pakke kun adgang til afhængigheder, der er specificeret i sin package.json-fil. Det har også indbygget understøttelse af arbejdsområder, hvilket betyder, at du kan oprette et arbejdsområde for at forene flere projekter i et enkelt arkiv.

Det er vigtigt, at pnpm let kan bruges i forskellige CI-applikationer såsom Travis, Semaphore, AppVeypr og Sail CI. Og du kan konfigurere dit projekt således, at andre brugere kun kan bruge pnpm, men ikke de andre Node.js-pakkehåndtering ovenfor, for eksempel når nogen forsøger at køre “npm install” eller “garninstallation”.

pnpm understøtter også aliasser, der giver dig mulighed for at installere pakker med brugerdefinerede navne, afslutning af kommandolinjefanen og bruger en låsefil kaldet pnpm-lock.yaml.

Den nemmeste måde at installere pnpm på er at bruge npm pakkehåndtering som vist.

$ sudo npm install -g pnpm
# npm install -g pnpm

I denne artikel har vi gennemgået de bedste Node.js-pakkeadministratorer, du kan installere i Linux. Vi vil gerne vide dine tanker om denne artikel, del dem med os via feedbackformularen nedenfor.