Node Package Manager

Instalacja pakietów

Aby zainstalować pakiet za pomocą oprogramowania npm, tak, aby mógł być wykorzystany w bieżącym projekcie, należy w wierszu poleceń wywołać polecenie npm install [nazwa_pakietu], np.:

> npm install chalk

albo polecenie npm install [nazwa_pakietu]@[numer_wersji], aby zainstalować wybraną wersję pakietu:

> npm install chalk@4
Pakiet chalk służy do wypisywania kolorowego tekstu w wierszu poleceń. Jego najnowsza wersja ma postać modułu ES. Wersja 4 jest ostatnią, która ma postać modułu CommonJS.

Instalacja pakietu za pomocą npm ma następujące skutki:

  • zależność (ang. dependency) od tego pakietu zostaje zarejestrowana na liście dependencies w pliku package.json;
  • pliki związane z zainstalowanym pakietem zostają umieszczone w folderze node_modules (który zostaje stworzony, jeśli wcześniej nie istniał);
  • zostaje zmodyfikowany (lub stworzony) plik package-lock.json, do którego lepiej w ogóle nie zaglądać – jest on w pełni obsługiwany automatycznie przez npm.

Polecenie npm install (bez żadnej konkretnej nazwy pakietu) sprawia, że npm „zagląda” do pliku package.json i na podstawie jego treści instaluje wszystkie wymagane pakiety.

> npm install
added 5 packages, removed 1 package, changed 1 package, and audited 7 packages in 1s

Pakiety + git

Jeśli wykorzystywany jest system kontroli wersji git, w zdalnym repozytorium:

  • powinien się znaleźć plik package.json;
  • nie powinny się znaleźć pliki pakietów zapisane w folderze node_modules.

Idea jest następująca: przy klonowaniu lub aktualizowaniu repozytorium, pobierany jest plik package.json, zawierający informację o wszystkich wymaganych pakietach. Po tym należy wywołać polecenie npm install, aby te wymagane pakiety osobno pobrać i zainstalować. W ten sposób informacja o wymaganych pakietach jest zachowana w zdalnym repozytorium, ale same pliki pakietów nie zajmują w nim niepotrzebnie miejsca. Z tego powodu, folder node_modules należy uwzględnić w pliku .gitignore.

Plik .gitignore:

...

node_modules/

...

Wykorzystywanie zainstalowanych pakietów

Aby wykorzystać zainstalowany pakiet, należy go w pliku .js zaimportować:

const chalk = require('chalk');
console.log(chalk.green('Hello, world'));
Hello, world

Odinstalowywanie pakietów

Do odinstalowania wybranego pakietu służy polecenie npm uninstall [nazwa_pakietu], w skrócie un lub rm:

> npm rm chalk

Odinstalowany pakiet zostaje usunięty z pliku package.json, ale instrukcje require służące do jego importu w plikach .js nie zostają automatycznie usunięte.


Literatura