Hlavní rozdíl mezi lokálními a globálními balíčky je tento:

  • lokální balíčky se instalují do adresáře, kde spouštíte npm install <package-name>, a jsou umístěny ve složce node_modules pod tímto adresářem
  • globální balíčky jsou všechny umístěny na jednom místě v systému (kde přesně, to závisí na vašem nastavení), bez ohledu na to, kde spouštíte npm install -g <package-name>

V kódu můžete vyžadovat pouze lokální balíčky:

require('package-name')

tak kdy byste měli instalovat tak či onak?

Všechny balíčky by se obecně měly instalovat lokálně.

Tak máte jistotu, že můžete mít v počítači desítky aplikací, které v případě potřeby používají různé verze jednotlivých balíčků.

Aktualizace globálního balíčku by způsobila, že by všechny vaše projekty používaly novou verzi, a jak si dokážete představit, mohlo by to způsobit noční můry z hlediska údržby, protože některé balíčky by mohly porušit kompatibilitu s dalšími závislostmi apod.

Všechny projekty mají vlastní lokální verzi balíčku, i když se to může zdát jako plýtvání zdroji, je to minimální ve srovnání s možnými negativními důsledky.

Balíček by měl být nainstalován globálně, pokud poskytuje spustitelný příkaz, který se spouští ze shellu (CLI) a je opakovaně používán napříč projekty.

Spustitelné příkazy můžete nainstalovat i lokálně a spouštět je pomocí npx, ale některé balíčky je prostě lepší instalovat globálně.

Krásné příklady oblíbených globálních balíčků, které možná znáte, jsou

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

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

Ve vašem systému jsou již pravděpodobně globálně nainstalovány některé balíčky. Můžete je zobrazit spuštěním příkazu

npm list -g --depth 0

na příkazovém řádku.

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.