Читатели като вас помагат в подкрепа на MUO. Когато правите покупка чрез връзки на нашия сайт, ние може да спечелим комисионна за партньор. Прочетете още.

Една от най-добрите характеристики на Node са мениджърите на пакети. Има много различни начини за инсталиране и управление на пакети с възли. Тук ще разгледаме предимствата и недостатъците на използването на един мениджър на пакети или използването на повече от един мениджър на пакети и някои от най-добрите начини да ги използвате заедно.

Какво е мениджър на пакети, питате? Прочетете, за да разберете.

Какво представляват мениджърите на пакети?

В света на разработката на софтуер зависимостите са това, от което се нуждаете, за да стартирате проекта си. Те са като съставки в рецепта: без тях нищо не се случва.

Например, ако пишете приложение, което използва JavaScript, и то иска достъп до някои функции от библиотека, наречена jQuery (което много уебсайтове някога са използвали), тогава jQuery ще бъде една от вашите зависимости. Ще ви трябва да го инсталирате, така че когато някой посети вашия сайт, да може да види онези страхотни анимации или взаимодействия, които сте създали с него!

instagram viewer

Мениджърите на пакети помагат за управлението на тези връзки между проекти, като управляват зависимостите вместо нас, така че не е нужно да се притесняваме да ги изтегляме ръчно всеки когато искаме нещо ново добавено или актуализирано - те също така се уверяват, че всичко работи заедно правилно и работи гладко, след като бъде инсталирано (което понякога е по-лесно да се каже, отколкото Свършен).

Node идва предварително опакован с мениджър на пакети, наречен NPM

NPM е мениджърът на пакети по подразбиране и като такъв е вграден в средата за изпълнение на възела. Можете да използвате NPM за инсталиране на пакети от GitHub или НПМ директно. Можете също да публикувате вашите пакети на този сайт, така че другите да могат да ги инсталират, използвайки тяхната версия на NPM.

NPM не се използва само за инсталиране на пакети; той също така обработва разрешаване на зависимости и конфликти на версии между две или повече необходими библиотеки или модули в кодовата база на вашето приложение.

Това означава, че ако има множество версии на нещо подобно Експресно изпълнение на вашия сървър във всеки един момент NPM ще гарантира, че всеки екземпляр получава това, от което се нуждае, без да влиза в конфликт с други екземпляри, които вършат подобна работа - и всичко това, без да изисквате да правите нещо специално освен просто обаждане изисквам() на обект при нужда!

NPM е невероятно мощен инструмент и е лесно да започнете с него. Но ако не сте запознати с Node и JavaScript, може да бъде предизвикателство да знаете какви инструменти са налични за ваша употреба и кои са най-подходящи за даден проект.

Основният проблем с NPM е, че пакетите се инсталират бавно. Това не е голяма работа, ако просто изпълнявате случайни скриптове или два, но може да бъде невероятно разочароващо, ако се опитвате да създадете цяло приложение, което използва десетки различни библиотеки и инструменти.

Преждата и PNPM са по-бързи от NPM

Yarn е сигурна и надеждна алтернатива на NPM, която използва заключващ файл, за да предотврати случайно презаписване и гарантира, че вашите зависимости са разрешени правилно при инсталиране на пакети.

Освен това има по-бързо време за инсталиране от NPM, което го прави особено полезен, ако работите с големи проекти, които имат много модули с много зависимости.

PNPM е алтернатива както на Yarn, така и на NPM, но все още не е толкова популярен, защото няма някои от функциите, които се намират в нито един от тях (като файлове за заключване). Неговите разработчици обаче твърдят, че PNPM може да инсталира пакети до четири пъти по-бързо от Yarn или NPM, благодарение на своята лека природа; това означава и по-малко използване на дисково пространство на вашия компютър!

Ако изграждате проект, който изисква само няколко зависимости, тогава Yarn или NPM вероятно ще са достатъчни. Въпреки това, ако работите с големи проекти с много модули и зависимости, тогава PNPM може да бъде по-добрият вариант за вас.

Предимства от използването на множество мениджъри на пакети

Един мениджър на пакети може да обработва само една версия на дадена библиотека в даден момент. Ако искате да използвате две различни версии на една и съща библиотека за други проекти или в различни среди (например производство срещу. разработка), тогава ще ви трябват два отделни пакета, инсталирани на вашата система.

Кредит за изображение: PNPM

Това може да доведе до конфликти, ако и двата пакета се опитат да актуализират своята версия на една и съща зависимост едновременно. Използването на множество мениджъри на пакети означава, че имате повече контрол върху това кои зависимости са инсталирани и къде, което помага да се избегнат тези видове конфликти.

Друго предимство е, че когато използвате множество мениджъри на пакети, всеки от тях ще предостави свой собствен уникален набор от функции. Някои може да са по-бързи от други; някои може да имат по-добри възможности за управление на зависимости; други може да са по-подходящи за разработване на приложения в определени рамки като ReactJS или VueJS и т.н.

И накрая, използването на множество мениджъри на пакети може да помогне за подобряване на продуктивността на вашия разработчик чрез намаляване на времето, прекарано в търсене и инсталиране на зависимости. Това е така, защото всеки мениджър на пакети ще бъде проектиран с конкретен набор от случаи на употреба (например скорост срещу. сигурност срещу. управление на зависимости и т.н...).

Използвайте множество мениджъри на пакети, като ги инсталирате глобално

С помощта на командния ред можете да посочите кой мениджър на пакети искате да използвате за конкретен проект. Настройте множество мениджъри на пакети на вашата машина:

  • NPM идва предварително опакован с Node. Това ще ви позволи да инсталирате други пакети (и мениджъри на пакети) от командния ред и да управлявате зависимости във всички ваши проекти с NPM. Също така е полезно, ако искате да изпълнявате NPM скриптове в браузър (напр. Webpack), тъй като браузърите не идват с предварително инсталиран NPM!
  • Инсталирайте Yarn и глобално, като използвате NPM. Това е друга популярна опция за управление на зависимости в рамките на JavaScript проекти; той има някои предимства пред NPM, които могат да го направят предпочитан за определени видове проекти или екипи
  • Накрая инсталирайте PNPM. Този мениджър на пакети е разклонение на NPM, което е проектирано да бъде по-бързо и по-стабилно. Освен това има някои допълнителни функции, които могат да бъдат полезни за някои типове проекти, като например поддръжка за зависимости от GitHub.

Имайте предвид, че глобалната инсталация означава, че избраният пакет ще бъде достъпен за цялата ви система (можете да получите достъп програмата навсякъде чрез командния ред), докато локалната инсталация може да бъде достъпна само от текущата работа указател.

Примери от реалния свят за това как можете да използвате множество мениджъри на пакети

Вижте тези употреби:

1. Прежда и NPM могат да се използват заедно (напр. create-react-app)

Това е полезно, когато искате да се възползвате от скоростта и ефективността на Yarn, като същевременно запазите съвместимостта с NPM пакетите. Ако имате нужда от най-новата версия на библиотека, която все още не е актуализирана за съвместимост с Yarn, или ако има друга причина защо вашият екип би предпочел да се придържа към NPM въпреки по-бавната му скорост или ограничения набор от функции, тогава това може да работи добре за вас проект. Също така помага да се избегне наличието на две отделни дървета на зависимости във вашата моно репо настройка!

2. Използване на Yarn за глобални пакети и PNPM за локални инсталации

Докато PNPM е най-бързият мениджър на пакети, може да е трудно да се използва за глобално инсталирани пакети. Това е така, защото използва различна файлова структура, която може да причини проблеми със съвместимостта с програми като Visual Studio Code. Тук се намесва Yarn. Можете да го използвате за вашите глобално инсталирани пакети и PNPM за локални инсталации. Това решение е добър начин да се възползвате от предимствата и на двата мениджъра на пакети, без да се налага да променяте твърде много работния си процес. С тази настройка – ако искате да се развихрите – можете напълно да премахнете NPM от системата си (но винаги е хубаво да имате NPM като резервно копие).

3. Използване на PNPM с NPM като резервен вариант

Това е добър вариант, който трябва да обмислите, в случай че искате да използвате PNPM, но не искате всичките ви разработчици все още да научават нов инструмент. Това им позволява да продължат да работят с NPM, докато не се освободят от PNPM и не се нуждаят от него за работата си.

Използването на множество мениджъри на пакети прави нещата по-лесни

Можете да използвате множество мениджъри на пакети. Можете да ги инсталирате глобално или локално, а ако искате да посочите кой мениджър на пакети да се използва за конкретен проект, просто използвайте командния ред!

Ако искате да инсталирате множество мениджъри на пакети на вашата система, уверете се, че използвате една и съща версия на Node.js.

В заключение смятаме, че трябва да използвате повече от един мениджър на пакети. Това е чудесен начин да започнете с Node и да научите някои нови инструменти, ако вече сте запознати с NPM. Ако все още нямате инсталиран Node, настройката е лесна за Windows.