3 galvenie Linux Node.js pakešu pārvaldnieki


Node.js ir viena no populārākajām programmēšanas valodām, kas visā pasaulē satricina programmatūras izstrādes nozari. Izstrādājot un lietojot Node.js lietojumprogrammas, viena izplatīta programmatūra, uz kuru vienmēr paļaujas izstrādātāji un citi lietotāji, ir pakotņu pārvaldnieks.

Node.js pakotņu pārvaldnieks mijiedarbojas ar tiešsaistes pakotņu krātuvēm (kas satur Node.js bibliotēkas, lietojumprogrammas un saistītās paketes) un palīdz daudzējādā ziņā, ieskaitot pakotņu instalēšanu un atkarību pārvaldību. Dažos pakotņu pārvaldniekos ir arī projekta vadības komponenti.

Piemēram, ja rakstāt tīmekļa lietojumprogrammu un saprotat, ka bezmaksas ārējā bibliotēka, kas īsteno jūsu lietojumprogrammas noteiktu funkcionalitāti, jau pastāv publiskā repozitorijā, varat izmantot pakotņu pārvaldnieku, lai instalētu to savā sistēmā lietojumprogrammu direktorijā un integrētu to ar savu pieteikumu.

Pakotņu pārvaldnieks palīdz arī norādīt bibliotēku kā atkarību no jūsu lietojumprogrammas, lai jebkura sistēma, kurā ir instalēta lietojumprogramma, tiktu instalēta arī bibliotēka, lai lietojumprogramma darbotos pareizi.

Šajā rakstā mēs pārskatīsim galvenos Node.js pakotņu pārvaldniekus, kurus varat instalēt Linux sistēmā.

1. NPM - Node.js pakešu pārvaldnieks

Npm nav jāievieš Node.js ekosistēmā. Bet kas ir npm? npm ir daudzu lietu apvienojums - tā ir Node pakotņu pārvaldnieks, npm reģistrs un npm komandrindas klients.

Pirmkārt, npm ir starpplatformu Node.js pakotņu pārvaldnieks, kas tika izstrādāts, lai palīdzētu JavaScript izstrādātājiem viegli koplietot savu kodu pakotņu veidā. Pakotņu instalēšanai un publicēšanai izstrādātāji izmanto komandrindas klientu ar nosaukumu npm, kas tiek izmantots arī versiju pārvaldībai un atkarības pārvaldībai. Tas darbojas uz Linux un citām UNIX līdzīgām sistēmām, Windows un macOS.

Turklāt npm ir arī droša tiešsaistes krātuve atvērtā koda Node.js projektu, piemēram, bibliotēku un lietojumprogrammu, publicēšanai. Tas ir viens no populārākajiem un lielākajiem atvērtā koda programmatūras reģistriem tīmeklī. Jūs varat to izmantot bez maksas - opcija, kas ļauj izveidot publiskas paketes, publicēt atjauninājumus, pārbaudīt atkarības un veikt citas darbības.

Alternatīvi, jūs varat reģistrēties programmai npm Pro, lai izbaudītu izcilu izstrādes pieredzi, kas sniedz daudzas priekšrocības, piemēram, privātos krātuves. Lielas attīstības komandas, kas strādā pie uzņēmējdarbībai kritiskiem projektiem, var izvēlēties npm Enterprise, kas ļauj iekšēji izstrādāt paketes, kuras netiek kopīgotas publiski.

Npm komandrindas klients tiek izplatīts kopā ar paketi Node.js, tas nozīmē, ka, instalējot Node.js savā Linux sistēmā, automātiski tiks instalēts arī npm. Interesanti, ka npm tiek izmantots, lai instalētu visu pārējo Node.js pakotņu pārvaldnieku, kas aprakstīts tālāk.

npm atbalsta arī JavaScript drošību, integrējot npm ar trešo pušu rīkiem, piemēram, CI/CD (Nepārtraukta integrācija/Nepārtraukta piegāde) sistēmām un daudz ko citu.

Lai Linux sistēmās instalētu jaunāko Node.js un NPM versiju, izpildiet komandas savā attiecīgajā Linux izplatīšanā.

$ 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. Dzija - Node.js pakešu pārvaldnieks

Dzija ir ne tikai ātrs, drošs, uzticams un atvērtā koda pakotņu pārvaldnieks, bet arī stabilu un reproducējamu projektu vadītājs. Dzija darbojas visur: operētājsistēmās Linux, Windows un MacOS un citās UNIX līdzīgās operētājsistēmās, kas atbalsta Node.js.

Kā pakešu pārvaldnieks tas ļauj koplietot kodu caur pakotni ar citiem izstrādātājiem visā pasaulē. Tādā pašā veidā savā lietojumprogrammā varat izmantot arī citu izstrādātāju kodu.

Dzija atbalsta darbvietas maziem, vidējiem un lieliem monorepo projektiem, ļaujot sadalīt projektu apakškomponentos, kas glabājas vienā repozitorijā. Vēl viena dzijas galvenā iezīme ir bezsaistes kešatmiņa, kas ļauj tai darboties nevainojami pat tad, ja tīkls nedarbojas.

Dzija tiek piegādāta arī ar modulāru API, kuru var pagarināt, izmantojot spraudņus. Varat izmantot oficiālos spraudņus vai rakstīt savus. Spraudņus var izmantot, lai pievienotu jaunas funkcijas, jaunus risinātājus, jaunus saites, jaunas komandas, reģistrētos dažus notikumus un tos varētu integrēt savā starpā. Turklāt tajā ir Plug’n’Play (PnP) API, kas ļauj izpildlaika laikā izpētīt atkarības koku.

Turklāt dzija ir arī labi dokumentēta, un dažas tās funkcijas joprojām ir inkubācijas stadijā, piemēram, ierobežojumi, izlaišanas darbplūsma un "nulles instalēšana", kas drīzāk ir filozofija, nevis iezīme.

Lai Linux sistēmās instalētu jaunāko Dzijas versiju, vispirms sistēmā jāinstalē Node.js un pēc tam jāinstalē Dzija, izmantojot attiecīgās Linux izplatīšanas komandas.

$ 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 pakešu pārvaldnieks

pnpm ir ātrs, efektīvs vietas diskā un atvērtā koda pakotņu pārvaldnieks. Tā ir starpplatforma, tā darbojas Linux, Windows un MacOS. Atšķirībā no npm un dzijas, kas izveido plakanu mezglu_moduļu direktoriju, pnpm darbojas nedaudz savādāk: tas izveido plakanu mezglu_moduļu izkārtojumu, kas izmanto simboliskas saites, lai izveidotu ligzdotu atkarību struktūru.

Faili, kas atrodas mezgla_moduļos, ir saistīti no vienas satura adresējamas krātuves. Šī pieeja ir efektīva, jo tā ļauj ietaupīt gigabaitus diska vietas.

Pieeja bez plakaniem mezglu_moduļiem arī padara pnpm stingru atkarībā no atkarības pārvaldības, tā ļauj pakotnei piekļūt tikai atkarībām, kas norādītas failā package.json. Tam ir arī iebūvēts atbalsts darbvietām, kas nozīmē, ka jūs varat izveidot darbvietu, lai vienā repozitorijā apvienotu vairākus projektus.

Svarīgi ir tas, ka pnpm var viegli izmantot dažādās CI lietojumprogrammās, piemēram, Travis, Semaphore, AppVeypr un Sail CI. Un jūs varat konfigurēt savu projektu tā, lai citi lietotāji varētu izmantot tikai pnpm, bet ne citus iepriekšminētos Node.js pakotņu pārvaldniekus, piemēram, kad kāds mēģina palaist “npm install” vai “dzijas instalēšana”.

pnpm atbalsta arī aizstājvārdus, kas ļauj instalēt paketes ar pielāgotiem nosaukumiem, komandrindas cilnes pabeigšanu un izmanto bloķēšanas failu ar nosaukumu pnpm-lock.yaml.

Vieglākais veids, kā instalēt pnpm, ir izmantot npm pakotņu pārvaldnieku, kā parādīts.

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

Šajā rakstā mēs esam pārskatījuši galvenos Node.js pakotņu pārvaldniekus, kurus varat instalēt Linux. Mēs vēlētos uzzināt jūsu domas par šo rakstu un dalīties tajās ar mums, izmantojot zemāk esošo atsauksmju veidlapu.