Једна од најбољих карактеристика Ноде-а су менаџери пакета. Постоји много различитих начина за инсталирање и управљање пакетима чворова. Овде ћемо погледати предности и недостатке коришћења једног менаџера пакета или коришћења више од једног менаџера пакета, као и неке од најбољих начина да их користите заједно.
Шта је менаџер пакета питате? Читајте даље да бисте сазнали.
Шта су менаџери пакета?
У свету развоја софтвера, зависности су оно што вам је потребно за покретање вашег пројекта. Они су као састојци у рецепту: без њих се ништа не дешава.
На пример, ако пишете апликацију која користи ЈаваСцрипт и жели приступ неким функцијама из библиотека под називом јКуери (који су многи веб-сајтови некада користили), онда ће јКуери бити једна од ваших зависности. Требаће вам да буде инсталиран тако да када неко посети вашу веб локацију, може да види оне сјајне анимације или интеракције које сте направили са њим!
Менаџери пакета помажу у управљању овим односима између пројеката тако што за нас управљају зависностима, тако да не морамо да бринемо о томе да их ручно преузимамо сваки када желимо да нешто ново додамо или ажурирамо – они се такође постарају да све функционише како треба и да ради глатко након инсталације (што је понекад лакше рећи него Готово).
Чвор долази унапред упакован са менаџером пакета који се зове НПМ
НПМ је подразумевани менаџер пакета и као такав је уграђен у време извршавања чвора. Можете користити НПМ за инсталирање пакета са ГитХуб-а или НПМ директно. Такође можете да објавите своје пакете на овој локацији тако да други могу да их инсталирају користећи своју верзију НПМ-а.
НПМ се не користи само за инсталирање пакета; такође се бави решавањем зависности и сукобима верзија између две или више потребних библиотека или модула у бази кода ваше апликације.
То значи да ако постоји више верзија нечега попут Екпресс ради на вашем серверу у било ком тренутку, НПМ ће се побринути да свака инстанца добије оно што јој је потребно без сукоба друге инстанце које раде сличан посао - и све то без потребе да радите било шта посебно осим једноставног зове захтевају() на објекту када је потребно!
НПМ је невероватно моћан алат и лако је почети са њим. Али ако сте нови у Ноде-у и ЈаваСцрипт-у, може бити изазовно знати који алати су доступни за вашу употребу — и који су најбољи за дати пројекат.
Главни проблем са НПМ-ом је тај што се споро инсталирају пакети. Ово није велика ствар ако само повремено користите скрипту или две, али може бити невероватно фрустрирајуће ако покушавате да направите целу апликацију која користи десетине различитих библиотека и алата.
Пређа и ПНПМ су бржи од НПМ-а
Иарн је сигурна и поуздана алтернатива НПМ-у која користи датотеку закључавања да спречи случајна преписивања и обезбеђује да се ваше зависности исправно решавају приликом инсталирања пакета.
Такође има брже време инсталације од НПМ-а, што га чини посебно корисним ако радите са великим пројектима који имају много модула са пуно зависности.
ПНПМ је алтернатива и Иарн-у и НПМ-у, али још увек није толико популаран јер нема неке од функција које се налазе ни у једном (попут датотека за закључавање). Међутим, његови програмери тврде да ПНПМ може да инсталира пакете до четири пута брже од Иарн-а или НПМ-а захваљујући својој лаганој природи; ово значи и мање коришћење простора на диску на вашем рачунару!
Ако градите пројекат који захтева само неколико зависности, тада ће Иарн или НПМ вероватно бити довољни. Међутим, ако радите са великим пројектима са много модула и зависности, онда би ПНПМ могао бити боља опција за вас.
Предности коришћења више менаџера пакета
Један менаџер пакета може истовремено да рукује само једном верзијом било које библиотеке. Ако желите да користите две различите верзије исте библиотеке за друге пројекте или у различитим окружењима (на пример, продукција вс. развој), онда ће вам требати два одвојена пакета инсталирана на вашем систему.
Ово може довести до сукоба ако оба пакета покушају да ажурирају своју верзију исте зависности у исто време. Коришћење више менаџера пакета значи да имате већу контролу над тим које зависности су инсталиране и где што помаже у избегавању оваквих сукоба.
Још једна предност је што када користите више менаџера пакета, сваки ће обезбедити свој јединствени скуп функција. Неки могу бити бржи од других; неки би могли имати боље способности управљања зависношћу; други би могли бити прикладнији за развој апликација у одређеним оквирима као што су РеацтЈС или ВуеЈС итд...
Коначно, коришћење више менаџера пакета може помоћи да побољшате продуктивност вашег програмера смањењем времена утрошеног на тражење и инсталирање зависности. То је зато што ће сваки менаџер пакета бити дизајниран са одређеним скупом случајева коришћења на уму (на пример, брзина у односу на. безбедност вс. управљање зависношћу итд...).
Користите више менаџера пакета тако што ћете их инсталирати глобално
Користећи командну линију, можете одредити који менаџер пакета желите да користите за одређени пројекат. Подесите више менаџера пакета на вашој машини:
- НПМ долази упаковано са Ноде. Ово ће вам омогућити да инсталирате друге пакете (и менаџере пакета) из командне линије и управљате зависностима у свим вашим пројектима помоћу НПМ-а. Такође је корисно ако желите да покренете НПМ скрипте у претраживачу (нпр. Вебпацк), јер претраживачи не долазе са унапред инсталираним НПМ-ом!
- Инсталирајте Иарн и глобално користећи НПМ. Ово је још једна популарна опција за управљање зависностима у оквиру ЈаваСцрипт пројеката; има неке предности у односу на НПМ које га могу учинити пожељнијим за одређене типове пројеката или тимова
- На крају, инсталирајте ПНПМ. Овај менаџер пакета је форк НПМ-а који је дизајниран да буде бржи и стабилнији. Такође има неке додатне функције које могу бити корисне за неке врсте пројеката, као што је подршка за зависности од ГитХуб-а.
Имајте на уму да глобална инсталација значи да ће изабрани пакет бити доступан целом вашем систему (можете приступити програм било где преко командне линије), док локалној инсталацији може приступити само тренутни рад именик.
Примери из стварног света како можете да користите више менаџера пакета
Погледајте ове употребе:
1. Предиво и НПМ се могу користити заједно (нпр. цреате-реацт-апп)
Ово је корисно када желите да искористите брзину и ефикасност Иарн-а, а да притом останете компатибилни са НПМ пакетима. Ако вам је потребна најновија верзија библиотеке која још није ажурирана ради компатибилности са Иарн-ом или ако постоји неки други разлог зашто би се ваш тим радије држао НПМ-а упркос његовој споријој брзини или ограниченом скупу функција, онда би ово могло добро функционисати за вас пројекат. Такође помаже у избегавању два одвојена стабла зависности у вашем моно репо подешавању!
2. Коришћење пређе за глобалне пакете и ПНПМ за локалне инсталације
Иако је ПНПМ најбржи менаџер пакета, може бити тешко користити га за глобално инсталиране пакете. То је зато што користи другачију структуру датотека што може изазвати проблеме са компатибилношћу са програмима као што је Висуал Студио Цоде. Овде долази предива. Можете га користити за своје глобално инсталиране пакете, а ПНПМ за локалне инсталације. Ово решење је добар начин да искористите предности оба менаџера пакета без потребе да превише мењате ток посла. Са овим подешавањем — ако желите да подивљате — можете потпуно уклонити НПМ са свог система (али увек је лепо имати НПМ као резервну копију).
3. Коришћење ПНПМ-а са НПМ-ом као резервним
Ово је добра опција коју треба размотрити у случају да желите да користите ПНПМ, али не желите да сви ваши програмери још увек морају да науче нови алат. Омогућава им да наставе да раде са НПМ-ом све док не буду задовољни ПНПМ-ом и затребају им за рад.
Коришћење више менаџера пакета чини ствари лакшим
Можете користити више менаџера пакета. Можете их инсталирати глобално или локално, а ако желите да одредите који менаџер пакета треба да се користи за одређени пројекат, само користите командну линију!
Ако желите да инсталирате више менаџера пакета на свој систем, уверите се да користите исту верзију Ноде.јс.
У закључку, сматрамо да би требало да користите више од једног менаџера пакета. То је одличан начин да почнете са Ноде-ом и такође научите неке нове алате ако сте већ упознати са НПМ-ом. Ако већ немате инсталиран Ноде, подешавање је лако у Виндовс-у.