Comprendre l’option d’installation -g de npm

Je commence tout juste avec le noeud. Je suis un peu confus à propos de l’option d’installation -g de npm. Quelqu’un pourrait-il me dire si les informations suivantes sont correctes:

  • npm install -g installe les packages globaux dans un emplacement général
  • npm install installe les packages dans le dossier spécifique
  • indépendamment de la manière dont toutes les dépendances doivent être installées doivent être listées dans le fichier json
  • les dépendances non installées avec l’option -g doivent être répertoriées comme requirejs dans le fichier * .js approprié

Ainsi, par exemple, s’il est installé avec l’option -g:

var app = express(); 

et si non installé avec l’option -g:

 var express = require('express'); var app = express(); 

Assez déroutant …

Le NMP dispose d’une excellente documentation. Est-ce que vous l’avez vu?

Il n’y a pas de différence dans l’utilisation des modules. Cela ne change rien si vous installez global ou projet-local.

Vous devez d’abord importer / exiger le module. Ensuite, vous pouvez l’utiliser.

Une installation globale signifie que chaque projet utilisant le même nœud peut en avoir besoin.

Bien qu’il existe une autre dépendance si l’installation est utilisateur global ou système global.

  • Utilisateur global: seuls les projets exécutés par cet utilisateur peuvent être requirejs.
  • Système global: tous les projets de tous les utilisateurs peuvent nécessiter.

L’installation avec -g place les packages dans un emplacement accessible dans le chemin, de sorte qu’ils soient disponibles à partir de toutes les applications qui en ont besoin. Normalement, vous souhaiterez utiliser cette option uniquement lors de l’installation d’utilitaires disposant de leurs propres exécutables autonomes (tels que WebPack ou Express CLI).

Cela n’a absolument rien à voir avec la façon dont les paquets sont chargés dans votre application. Vous devez toujours utiliser require() .

NPM est effectivement indépendant de Node.js. C’est un gestionnaire de paquets qui n’a aucune incidence sur le fonctionnement de require() .