Główna różnica między pakietami lokalnymi i globalnymi jest następująca:

  • pakiety lokalne są instalowane w katalogu, w którym uruchamiasz npm install <package-name>, i są one umieszczane w folderze node_modules pod tym katalogiem
  • pakiety globalne są wszystkie umieszczane w jednym miejscu w twoim systemie (dokładnie gdzie zależy od twojej konfiguracji), niezależnie od tego, gdzie uruchamiasz npm install -g <package-name>

W twoim kodzie możesz wymagać tylko pakietów lokalnych:

require('package-name')

więc kiedy powinieneś zainstalować w ten czy inny sposób?

Ogólnie, wszystkie pakiety powinny być zainstalowane lokalnie.

To daje pewność, że możesz mieć dziesiątki aplikacji w swoim komputerze, wszystkie uruchamiające inną wersję każdego pakietu w razie potrzeby.

Aktualizacja globalnego pakietu sprawi, że wszystkie twoje projekty będą używać nowego wydania, i jak możesz sobie wyobrazić, może to powodować koszmary w zakresie konserwacji, ponieważ niektóre pakiety mogą złamać kompatybilność z dalszymi zależnościami, i tak dalej.

Wszystkie projekty mają swoją własną lokalną wersję pakietu, nawet jeśli może się to wydawać marnowaniem zasobów, jest to minimalne w porównaniu do możliwych negatywnych konsekwencji.

Pakiet powinien być zainstalowany globalnie, gdy dostarcza wykonywalną komendę, którą uruchamiasz z powłoki (CLI), i jest ona ponownie używana w różnych projektach.

Możesz również zainstalować wykonywalne komendy lokalnie i uruchamiać je używając npx, ale niektóre pakiety są po prostu lepiej zainstalowane globalnie.

Dobrymi przykładami popularnych globalnych pakietów, które możesz znać są

  • npm
  • create-react-app
  • vue-cli
  • grunt-cli
  • .

  • mocha
  • react-native-cli
  • gatsby-cli
  • forever
  • nodemon

Prawdopodobnie masz już jakieś pakiety zainstalowane globalnie w swoim systemie. Możesz je zobaczyć uruchamiając

npm list -g --depth 0

w wierszu poleceń.

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.