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_modules
kansioon - 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
npm
create-react-app
vue-cli
grunt-cli
mocha
react-native-cli
gatsby-cli
forever
nodemon
Joitakin paketteja on luultavasti jo asennettu globaalisti järjestelmääsi. Näet ne ajamalla
npm list -g --depth 0
komentorivilläsi.