Lokaalien ja globaalien pakettien tärkein ero on tämä:
- paikalliset paketit asennetaan siihen hakemistoon, jossa suoritat
npm install <package-name>, ja ne laitetaan tämän hakemiston alla olevaannode_moduleskansioon - globaalit paketit laitetaan kaikki yhteen paikkaan järjestelmässäsi (missä tarkalleen ottaen on riippuvainen asetuksistasi) riippumatta siitä, missä suoritat
npm install -g <package-name>
Koodissasi voit vaatia vain paikallisia pakkauksia:
require('package-name')
miten siis kannattaa asentaa tavalla tai toisella?
Yleisesti ottaen kaikki paketit tulisi asentaa paikallisesti.
Tämä varmistaa, että tietokoneellasi voi olla kymmeniä sovelluksia, jotka kaikki ajavat tarvittaessa eri versiota kustakin paketista.
Yleisen paketin päivittäminen pakottaisi kaikki projektisi käyttämään uutta versiota, ja kuten voit kuvitella, tämä saattaa aiheuttaa painajaisia ylläpidon kannalta, sillä jotkut paketit saattavat rikkoa yhteensopivuuden muiden riippuvuuksien kanssa ja niin edelleen.
Kaikilla projekteilla on oma paikallinen versionsa paketista, vaikka tämä saattaisikin vaikuttaa resurssien tuhlaukselta, se on minimaalista verrattuna mahdollisiin negatiivisiin seurauksiin.
Paketti kannattaa asentaa globaalisti, kun se tarjoaa suoritettavan komennon, jonka suoritat komentotulkista (CLI) ja jota käytetään uudelleen eri projekteissa.
Voit myös asentaa suoritettavat komennot lokaalisti ja suorittaa ne npx:n avulla, mutta jotkin paketit on vain yksinkertaisesti parempi asentaa globaalisti.
Hyviä esimerkkejä suosituista globaaleista paketeista, jotka saatat tuntea, ovat
npmcreate-react-appvue-cligrunt-climochareact-native-cligatsby-cliforevernodemon
Joitakin paketteja on luultavasti jo asennettu globaalisti järjestelmääsi. Näet ne ajamalla
npm list -g --depth 0
komentorivilläsi.