A fő különbség a helyi és a globális csomagok között a következő:

  • a helyi csomagok abba a könyvtárba települnek, ahol a npm install <package-name> futtatod, és az e könyvtár alatti node_modules mappába kerülnek
  • a globális csomagok mind egy helyre kerülnek a rendszeredben (hogy pontosan hova, az a beállításaidtól függ), függetlenül attól, hogy hol futtatod npm install -g <package-name>

A kódodban csak a helyi csomagokra lehet szükséged:

require('package-name')

akkor mikor kell telepíteni így vagy úgy?

Általában minden csomagot lokálisan kell telepíteni.

Ez biztosítja, hogy több tucat alkalmazásod legyen a gépeden, amelyek mind az egyes csomagok különböző verzióit futtatják, ha szükséges.

A globális csomag frissítése miatt minden projekted az új kiadást használná, és ahogy el tudod képzelni, ez rémálmokat okozhat a karbantartás szempontjából, mivel egyes csomagok megszakíthatják a kompatibilitást a további függőségekkel, és így tovább.

Minden projektnek megvan a saját helyi verziója egy csomagból, még ha ez erőforráspazarlásnak is tűnhet, ez minimális a lehetséges negatív következményekhez képest.

A csomagot akkor érdemes globálisan telepíteni, ha egy végrehajtható parancsot biztosít, amelyet a shellből (CLI) futtatsz, és újrafelhasználható a projektek között.

Lokálisan is telepíthetsz végrehajtható parancsokat, és az npx segítségével futtathatod őket, de néhány csomagot egyszerűen jobb globálisan telepíteni.

Nagyszerű példák a népszerű globális csomagokra, amelyeket ismerhetsz:

  • npm
  • create-react-app
  • vue-cli
  • grunt-cli
  • mocha
  • react-native-cli
  • gatsby-cli
  • forever
  • nodemon

Valószínűleg néhány csomag már globálisan telepítve van a rendszereden. Ezeket a parancssoron a

npm list -g --depth 0

futtatásával láthatja.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.