NPM (Node Package Manager) je nejrozšířenější správce balíčků pro JavaScript, který umožňuje vývojářům snadno spravovat závislosti jejich projektů. Je součástí Node.js a poskytuje přístup k rozsáhlému ekosystému knihoven a nástrojů.
Jak NPM funguje?
NPM umožňuje instalaci, aktualizaci a správu knihoven v projektech pomocí jednoduchých příkazů v terminálu. Pracuje se soubory package.json a package-lock.json, které obsahují informace o závislostech a jejich verzích.
Instalace a základní použití NPM
Pro použití NPM je nutné mít nainstalovaný Node.js, který obsahuje i samotný NPM. Instalaci lze ověřit příkazy:
node -v # Zobrazení verze Node.js
npm -v # Zobrazení verze NPM
Pro vytvoření nového projektu s NPM:
npm init -y # Vytvoří soubor package.json s výchozí konfigurací
Instalace balíčků pomocí NPM
Balíčky lze instalovat lokálně (do projektu) nebo globálně (pro celý systém).
Lokální instalace:
npm install nazev-balicku
Globální instalace:
npm install -g nazev-balicku
Globální instalace se používá hlavně pro CLI nástroje.
Správa závislostí v projektu
Závislosti lze rozdělit do dvou hlavních kategorií:
- Základní závislosti (dependencies) – nutné pro běh aplikace, instalují se standardně pomocí
npm install
.
- Vývojové závislosti (devDependencies) – potřebné pouze při vývoji, instalují se pomocí:
npm install --save-dev nazev-balicku
Aktualizace a odstranění balíčků
Balíčky lze aktualizovat příkazem:
npm update nazev-balicku
Pokud je nutné aktualizovat všechny balíčky v projektu, stačí:
npm update
Pro odstranění balíčku se používá:
npm uninstall nazev-balicku
Bezpečnost a audit závislostí
NPM nabízí možnost kontroly bezpečnostních zranitelností v balíčcích pomocí:
npm audit
Pokud jsou nalezeny zranitelnosti, lze je opravit příkazem:
npm audit fix
V některých případech je nutné provést ruční aktualizaci konkrétního balíčku.
Výhody a nevýhody NPM
Výhody:
- Rozsáhlá knihovna balíčků
- Snadná správa závislostí
- Možnost automatizace pomocí skriptů
Nevýhody:
- Náchylnost ke zranitelnostem ve veřejných balíčcích
- Velká závislost na externích knihovnách
- Problémy s kompatibilitou mezi verzemi
Alternativy k NPM
Ačkoliv je NPM nejrozšířenější, existují i alternativy:
- Yarn – Rychlejší instalace a lepší správa cache
- PNPM – Efektivnější správa závislostí s menší velikostí
node_modules
NPM je klíčový nástroj pro správu balíčků v ekosystému JavaScriptu. Díky němu lze snadno instalovat, aktualizovat a spravovat závislosti v projektech. Pro bezpečný a efektivní vývoj je důležité pravidelně kontrolovat aktualizace a dbát na bezpečnost závislostí.