npm-ը Node.js-ի ստանդարտ փաթեթների կառավարիչն է: Այնուամենայնիվ, Facebook-ը որոշ ժամանակ է՝ մշակում է Yarn անունով այլընտրանքային փաթեթների կառավարման լուծում: Yarn-ը, կարծես, դանդաղորեն անհետանում է GitHub-ի README-ից՝ որպես լռելյայն լուծում, և պաշտոնական կայքում վիճակագրությունը ցույց է տալիս, որ փաթեթների տեղադրման միայն մի փոքր մասն է կատարվում Yarn-ի միջոցով: Այնուամենայնիվ, արժե նայել ակնհայտից այն կողմ:
Yarn-ը լիովին համատեղելի է առկա package.json ֆայլերի հետ, այնպես որ դուք կարող եք հեշտությամբ օգտագործել երկու լուծումներն էլ առկա նախագծերում: Երկու լուծումների հրամանները միայն փոքր-ինչ են տարբերվում: Ստորև ներկայացված է ամենակարևոր հրամանների համեմատությունը::
| Նկարագրություն | ցերեկը | Մանվածք |
| Նախաձեռնիր | npm նախաձեռնություն | մանվածք init |
| Թարմացնել | npm տեղադրել -g npm | մանվածք ինքնաթարմացում |
| Տեղադրեք փաթեթը | npm տեղադրել - փրկել [անունը] | մանվածք ավելացնել [անունը] |
| Տեղադրեք փաթեթը | npm տեղադրել --save-dev [անուն] | մանվածք ավելացնել --dev [անունը] |
| Տեղադրեք փաթեթը ամբողջ աշխարհում | npm տեղադրել -g [անունը] | մանվածք գլոբալ ավելացնել [անունը] |
| Տեղադրեք բոլոր փաթեթները | npm տեղադրել | մանվածք տեղադրել |
| Թարմացրեք բոլոր փաթեթները | npm թարմացում | մանվածքների արդիականացում |
| Տեղահանեք փաթեթը | npm հեռացնել [անունը] | մանվածք հանել [անունը] |
Yarn-ը նախագծվել է npm-ի որոշ թույլ կողմերը լուծելու համար: Ամենաակնհայտ տարբերությունը դրա բարելավված կատարողականությունն է. աստիճանական տեղադրումները, բազմաթելային տեխնոլոգիան և վերջին «կիլերի» գործառույթը ՝ Plug'n'Play-ը (PNP), զգալիորեն բարձրացնում են կատարողականությունը: Plug'n'Play-ը վերացնում է նախագծի վրա հիմնված `node_modules` թղթապանակի անհրաժեշտությունը, որը հաճախ կարող է աճել աստղաբաշխական չափերի ֆայլերի քանակով: Ավելի շատ տեղեկություններ կարելի է գտնել Plug'n'Play-ի պաշտոնական սպիտակ թղթում : Մենք eslint-ը կտեղադրենք մեկ անգամ npm-ով, ապա Yarn-ով, որոնցից յուրաքանչյուրը կունենա տաքացված քեշ, որպեսզի հստակ ցույց տանք արագության տարբերությունը (6x!)::

