Jednou z nejlepších funkcí Node jsou správci balíčků. Existuje mnoho různých způsobů instalace a správy balíčků uzlů. Zde se podíváme na výhody a nevýhody používání jednoho správce balíčků nebo používání více než jednoho správce balíčků a na některé z nejlepších způsobů, jak je používat společně.
Ptáte se, co je správce balíčků? Čtěte dál a dozvíte se to.
Co jsou správci balíčků?
Ve světě vývoje softwaru jsou závislosti to, co potřebujete ke spuštění svého projektu. Jsou jako ingredience v receptu: bez nich se nic nestane.
Pokud například píšete aplikaci, která používá JavaScript a která chce přístup k některým funkcím knihovna s názvem jQuery (které kdysi používalo mnoho webů), pak bude jQuery jednou z vašich závislostí. Budete jej potřebovat nainstalovaný, aby když někdo navštíví váš web, mohl vidět ty skvělé animace nebo interakce, které jste s ním vytvořili!
Správci balíčků pomáhají spravovat tyto vztahy mezi projekty tím, že za nás spravují závislosti, takže se nemusíme starat o jejich ruční stahování když chceme něco nového přidat nebo aktualizovat – také zajistí, aby vše fungovalo správně a po instalaci fungovalo hladce (což se někdy řekne snadněji než Hotovo).
Uzel je dodáván předem zabalený se správcem balíčků zvaným NPM
NPM je výchozí správce balíčků a jako takový je zabudován do běhového prostředí uzlu. NPM můžete použít k instalaci balíčků z GitHubu popř NPM přímo. Můžete také publikovat své balíčky na tomto webu, aby si je ostatní mohli nainstalovat pomocí své verze NPM.
NPM se nepoužívá pouze k instalaci balíčků; také se zabývá řešením závislostí a konflikty verzí mezi dvěma nebo více požadovanými knihovnami nebo moduly ve vaší aplikační kódové základně.
To znamená, že pokud existuje více verzí něčeho podobného Express běžící na vašem serveru NPM v každém okamžiku zajistí, že každá instance dostane to, co potřebuje, aniž by s tím byla v konfliktu jiné případy, které provádějí podobnou práci – a to vše bez toho, abyste museli dělat něco speciálního, než je prostě povolání vyžadovat() v případě potřeby na předmět!
NPM je neuvěřitelně mocný nástroj a je snadné s ním začít. Pokud ale s Node a JavaScriptem začínáte, může být náročné vědět, jaké nástroje jsou pro vaše použití k dispozici – a které jsou pro daný projekt nejlepší.
Hlavním problémem NPM je pomalá instalace balíčků. To není velký problém, pokud spouštíte jen občasný nebo dva skripty, ale může to být neuvěřitelně frustrující, pokud se snažíte vytvořit celou aplikaci, která používá desítky různých knihoven a nástroje.
Příze a PNPM jsou rychlejší než NPM
Yarn je bezpečná a spolehlivá alternativa k NPM, která používá soubor zámku k zabránění náhodnému přepsání a zajišťuje správné vyřešení vašich závislostí při instalaci balíčků.
Má také rychlejší dobu instalace než NPM, což je zvláště užitečné, pokud pracujete s velkými projekty, které mají mnoho modulů se spoustou závislostí.
PNPM je alternativou k Yarn i NPM, ale ještě není tak populární, protože nemá některé funkce, které se nacházejí v žádné z nich (jako soubory zámku). Jeho vývojáři však tvrdí, že PNPM může instalovat balíčky až čtyřikrát rychleji než Yarn nebo NPM díky své lehké povaze; to znamená i menší využití místa na disku ve vašem počítači!
Pokud budujete projekt, který vyžaduje pouze několik závislostí, pak bude pravděpodobně stačit Yarn nebo NPM. Pokud však pracujete s velkými projekty s mnoha moduly a závislostmi, pak by pro vás mohla být PNPM lepší volbou.
Výhody použití více správců balíčků
Jeden správce balíčků může najednou zpracovávat pouze jednu verzi libovolné dané knihovny. Pokud chcete použít dvě různé verze stejné knihovny pro jiné projekty nebo v různých prostředích (například produkční vs. development), pak budete potřebovat dva samostatné balíčky nainstalované na vašem systému.
To může vést ke konfliktům, pokud se oba balíčky pokusí aktualizovat svou verzi stejné závislosti ve stejnou dobu. Použití více správců balíčků znamená, že máte větší kontrolu nad tím, které závislosti jsou nainstalovány a kde, což pomáhá vyhnout se těmto druhům konfliktů.
Další výhodou je, že při použití více správců balíčků bude každý poskytovat svou vlastní jedinečnou sadu funkcí. Některé mohou být rychlejší než jiné; některé mohou mít lepší možnosti správy závislostí; jiné mohou být vhodnější pro vývoj aplikací v určitých rámcích, jako je ReactJS nebo VueJS atd...
A konečně, použití více správců balíčků může pomoci zlepšit produktivitu vývojářů snížením času stráveného hledáním a instalací závislostí. Je to proto, že každý správce balíčků bude navržen s ohledem na konkrétní sadu případů použití (například rychlost vs. bezpečnost vs. správa závislostí atd...).
Použijte více správců balíčků jejich globální instalací
Pomocí příkazového řádku můžete určit, kterého správce balíčků chcete použít pro konkrétní projekt. Nastavte na svém počítači několik správců balíčků:
- NPM je dodáván v balení s Node. To vám umožní instalovat další balíčky (a správce balíčků) z příkazového řádku a spravovat závislosti napříč všemi vašimi projekty pomocí NPM. Je to také užitečné, pokud chcete spouštět skripty NPM v prohlížeči (např. Webpack), protože prohlížeče se nedodávají s předinstalovaným NPM!
- Nainstalujte Yarn globálně také pomocí NPM. Toto je další oblíbená možnost pro správu závislostí v rámci projektů JavaScript; má některé výhody oproti NPM, díky kterým je vhodnější pro určité typy projektů nebo týmů
- Nakonec nainstalujte PNPM. Tento správce balíčků je větev NPM, která je navržena tak, aby byla rychlejší a stabilnější. Má také některé další funkce, které mohou být užitečné pro některé typy projektů, jako je podpora závislostí z GitHubu.
Všimněte si, že globální instalace znamená, že vybraný balíček bude dostupný pro celý váš systém (můžete přistupovat program kdekoli přes příkazový řádek), zatímco k místní instalaci má přístup pouze aktuálně pracující adresář.
Příklady toho, jak můžete používat více správců balíčků ze skutečného světa
Podívejte se na tato použití:
1. Příze a NPM lze použít společně (např. create-react-app)
To je užitečné, když chcete využít rychlost a efektivitu Yarn a přitom zachovat kompatibilitu s balíčky NPM. Pokud potřebujete nejnovější verzi knihovny, která ještě nebyla aktualizována kvůli kompatibilitě s Yarn, nebo pokud existuje jiný důvod proč by váš tým raději zůstal u NPM navzdory jeho nižší rychlosti nebo omezené sadě funkcí, pak by to pro vás mohlo dobře fungovat projekt. Také to pomáhá vyhnout se tomu, že v nastavení mono repo budete mít dva samostatné stromy závislostí!
2. Použití příze pro globální balíčky a PNPM pro místní instalace
Zatímco PNPM je nejrychlejší správce balíčků, jeho použití pro globálně instalované balíčky může být složité. Je to proto, že používá jinou strukturu souborů, která může způsobit problémy s kompatibilitou s programy, jako je Visual Studio Code. Tady přichází na scénu Yarn. Můžete jej použít pro své globálně nainstalované balíčky a PNPM pro místní instalace. Toto řešení je dobrý způsob, jak získat výhody obou správců balíčků, aniž byste museli příliš měnit pracovní postup. S tímto nastavením – pokud se chcete zbláznit – můžete zcela odstranit NPM ze systému (ale vždy je příjemné mít NPM jako zálohu).
3. Použití PNPM S NPM jako záložní
Tuto možnost je dobré zvážit v případě, že chcete používat PNPM, ale nechcete, aby se všichni vaši vývojáři museli učit nový nástroj. Umožňuje jim pokračovat v práci s NPM, dokud se s PNPM neuspokojí a nebudou jej potřebovat pro svou práci.
Použití více správců balíčků usnadňuje práci
Můžete použít více správců balíčků. Můžete je nainstalovat globálně nebo lokálně, a pokud chcete určit, který správce balíčků má být použit pro konkrétní projekt, stačí použít příkazový řádek!
Pokud chcete na svůj systém nainstalovat více správců balíčků, ujistěte se, že používáte stejnou verzi Node.js.
Na závěr si myslíme, že byste měli používat více než jednoho správce balíčků. Je to skvělý způsob, jak začít s Node a také se naučit nějaké nové nástroje, pokud jste již obeznámeni s NPM. Pokud ještě nemáte nainstalovaný Node, je nastavení ve Windows snadné.