NPM
3 minuty czytania
NPM, czyli Node Package Manager, to narzędzie używane do zarządzania pakietami dla aplikacji Node.js. Dzięki NPM, programiści mogą łatwo instalować, aktualizować, usuwać i zarządzać zależnościami swoich projektów.
System zarządzania pakietami służy do automatycznej instalacji, aktualizacji, konfiguracji i usuwania pakietów oprogramowania. Na rynku mamy kilka dostępnych narzędzi do tego celu, ja omówię w tym artykule jeden z najpopularniejszych systemów jakim jest npm.
Czym jest NPM?
Jak wspomniałem na wstępie NPM jest to system do zarządzania pakietami służący do automatycznej instalacji, aktualizacji, konfiguracji i usuwania pakietów. NPM posiada w swojej bazie ponad 800 tysięcy pakietów i ta liczba z dnia na dzień coraz bardziej rośnie.
Instalacja NPM
NPM instaluje się wraz z Node JS i bez niego nie jesteśmy w stanie przeprowadzić instalacji npm.
- Wchodzimy na oficjalną stronę Node JS i wybieramy odpowiedni instalator dla naszego systemu operacyjnego. Aktualnie NPM jest wspierany dla systemów takich jak Windows, Linux oraz MacOS.
- Po zakończeniu pobierania, uruchamiamy instalator i postępujemy według instrukcji w instalatorze.
- Po instalacji, czasami jest wymagany restart komputera.
- Aby sprawdzić, czy udało nam się poprawnie zainstalować Node JS wraz z NPM, należy wpisać poniższą komendę w konsoli:
node -v
Dzięki tej komendzie jesteśmy w stanie sprawdzić wersję zainstalowanego Node JS. Analogicznie do sprawdzenia wersji NPM używamy komendy:
npm -v
Podstawowe komendy NPM
NPM oferuje szereg przydatnych poleceń, które ułatwiają zarządzanie pakietami w projektach Node.js. Oto najważniejsze z nich:
- `npm init` – inicjalizuje nowy projekt Node.js, tworząc plik `package.json`, w którym przechowywane są informacje o zależnościach i konfiguracji projektu. Można użyć `npm init -y`, aby pominąć interaktywne pytania i zaakceptować domyślne wartości.
- `npm install [nazwa_pakietu]` (`npm i`) – instaluje wskazany pakiet i dodaje go do `node_modules`. Domyślnie zapisuje zależność w `package.json` w sekcji `dependencies`. Jeśli dodamy flagę `--save-dev`, pakiet zostanie zapisany jako zależność deweloperska.
- `npm install` – instaluje wszystkie zależności projektu zgodnie z `package.json`. Jest to podstawowe polecenie używane po sklonowaniu projektu.
- `npm uninstall [nazwa_pakietu]` – usuwa wskazany pakiet z projektu oraz `package.json`.
- `npm update` – aktualizuje wszystkie zależności w projekcie do wersji określonych w `package.json`.
- `npm outdated` – sprawdza, czy dostępne są nowsze wersje zainstalowanych pakietów.
- `npm audit` – analizuje projekt pod kątem potencjalnych zagrożeń bezpieczeństwa w zależnościach i sugeruje sposoby ich naprawienia.
- `npm run [nazwa_skryptu]` – uruchamia skrypt zdefiniowany w sekcji `scripts` pliku `package.json`, np. `npm run build` lub `npm run start`.
- `npx [nazwa_pakietu]` – pozwala na uruchomienie pakietu bez konieczności jego instalacji w projekcie, co jest przydatne np. dla jednorazowych narzędzi.
Znajomość tych podstawowych komend ułatwia efektywne zarządzanie zależnościami w projektach Node.js, automatyzując wiele czynności i zapewniając płynny rozwój aplikacji.
Jak działa NPM?
System ten pobiera interesujący nas pakiet i jego zależności, instalacje NPM można uruchomić z argumentami lub też bez. Uruchomiony bez argumentów NPM pobiera zależności i definiuje je w pliku package.json oraz tworzy folder node_modules z zainstalowanymi przez nas pakietami.
Jakie są zalety korzystania z NPM?
Przede wszystkim NPM posiada ogromny ekosystem bibliotek, co pozwala na szybkie znajdowanie i instalowanie gotowych rozwiązań. Dzięki temu programiści mogą oszczędzać czas, zamiast tworzyć wszystko od podstaw.
Kolejną zaletą jest prostota zarządzania zależnościami – plik package.json umożliwia łatwe określenie wersji pakietów i ich automatyczną instalację w różnych środowiskach. NPM oferuje również możliwość instalowania pakietów zarówno lokalnie (dla konkretnego projektu), jak i globalnie (dla całego systemu), co daje dużą elastyczność.
Innym ważnym atutem jest wsparcie dla skryptów, które pozwalają na automatyzację różnych zadań, takich jak testowanie, budowanie czy uruchamianie aplikacji. NPM dba także o bezpieczeństwo – dzięki komendzie npm audit można sprawdzać i naprawiać podatności w zależnościach. Warto również wspomnieć o ciągłych aktualizacjach i ulepszeniach menedżera, które czynią go jeszcze bardziej wydajnym i intuicyjnym w użyciu.
SPRAWDŹ SWOJĄ WIEDZE Z TEMATU npm
Pytanie
1/5
Alternatywy dla NPM
Choć NPM jest najczęściej używanym menedżerem pakietów dla JavaScript, istnieją inne rozwiązania, które mogą lepiej odpowiadać na konkretne potrzeby programistów.
- Yarn – Jest to jedna z najpopularniejszych alternatyw dla NPM, stworzona przez Facebooka. Yarn wyróżnia się szybszą instalacją pakietów dzięki buforowaniu oraz deterministycznym zarządzaniem zależnościami. Dodatkowo, jego plik yarn.lock zapewnia większą stabilność wersji pakietów.
- PNPM – To kolejny menedżer pakietów, który oszczędza miejsce na dysku, przechowując tylko jedną kopię każdej wersji pakietu i tworząc twarde linki do projektów. Dzięki temu instalacja jest szybsza, a zużycie miejsca mniejsze.
- Bun – Relatywnie nowy menedżer pakietów, który oferuje jeszcze szybsze działanie niż Yarn i PNPM. Bun został zaprojektowany z myślą o wydajności i zawiera wbudowane funkcje, takie jak serwer HTTP czy obsługa TypeScript bez potrzeby dodatkowej konfiguracji.
- Deno – Choć Deno to bardziej alternatywa dla Node.js niż samego NPM, warto o nim wspomnieć. Deno nie korzysta z klasycznego systemu pakietów, zamiast tego umożliwia importowanie zależności bezpośrednio z URL-i, co eliminuje problemy związane z zarządzaniem node_modules.
Nasza oferta
Web development
Dowiedz się więcejMobile development
Dowiedz się więcejE-commerce
Dowiedz się więcejProjektowanie UX/UI
Dowiedz się więcejOutsourcing
Dowiedz się więcejPowiązane artykuły
Pinia: Nowoczesna i wydajna biblioteka do zarządzania stanem w aplikacjach Vue.js
1 wrz 2024
Pinia to innowacyjna biblioteka do zarządzania stanem, specjalnie zaprojektowana dla aplikacji Vue.js. Wyróżnia się na tle innych podobnych narzędzi swoją wydajnością, prostotą i elastycznością. Pozwala na ustrukturyzowanie i skuteczne kontrolowanie danych w Twojej aplikacji. Zapraszam do zgłębienia tematu, by odkryć pełnię możliwości Pinii.

Babel - kompilator JavaScript
7 kwi 2024
Babel to niezbędne narzędzie dla każdego programisty JavaScript - kompilator służący do przekształcania nowoczesnego JavaScript (ES6+) w starsze wersje, które mogą być zrozumiałe dla wszystkich przeglądarek. Jest to klucz do tworzenia bardziej zoptymalizowanego, zgodnego i niezawodnego kodu.
Visual Studio Code Server - zrozumienie działania i wykorzystania
23 mar 2024
Visual Studio Code Server, innowacyjne rozwiązanie do tworzenia kodu na zdalnych środowiskach pracy, zdobywa popularność wśród programistów. W tym artykule przyjrzymy się bliżej jego działaniu. Wyjaśnimy mechanizmy, na których opiera się i pokażemy praktyczne zastosowania tej technologii.
Wdrożenie aplikacji Node.js z użyciem Koa.js
9 mar 2024
Node.js i Koa.js są mocnym połączeniem technologicznym, które może napędzać nowoczesną infrastrukturę webową. W tym artykule przyjrzymy się najważniejszym etapom wdrażania aplikacji korzystającej z tych narzędzi. Dowiesz się jak przygotować swoją aplikację Node.js, zintegrować z Frameworkiem Koa.js oraz jak skonfigurować środowisko do bezproblemowego wdrożenia.
Yeoman: narzędzie do generowania szablonów aplikacji
11 lut 2024
Yeoman to nowoczesne narzędzie, które rewolucjonizuje sposób, w jaki deweloperzy generują szablony aplikacji. Udostępniając szeroką gamę generatorów na różne technologie i typy projektów, znacząco upraszcza i przyspiesza proces tworzenia zasobów. Poznaj potęgę Yeoman i odkryj, jak może on wesprzeć Twoją pracę.
Rollup.js - Przegląd funkcji i możliwości
22 wrz 2023
Czy zastanawiałeś się kiedyś, jak zoptymalizować i uprościć proces budowania swojego projektu JavaScript? Właśnie dokonujesz wstępu do świata Rollup.js - potężnego narzędzia bundlera. Ten artykuł prześledzi szerokie możliwości i funkcje Rollup.js, podkreślając jego kluczowe aspekty i sposoby użycia.
Przegląd Vite.js: Nowa generacja narzędzi do budowania aplikacji front-end
19 wrz 2023
Większość developerów front-end jest zaznajomiona z narzędziami takimi jak webpack czy parcel. Jednak świeży powiew przynosi Vite.js; nowoczesne, szybkie i efektywne środowisko do budowania aplikacji. W tym artykule przyjrzymy się bliżej możliwościom i zaletom tej najnowszej technologii.
Zobacz wszystkie artykuły