La principal diferencia entre los paquetes locales y globales es esta:

  • los paquetes locales se instalan en el directorio donde se ejecuta npm install <package-name>, y se ponen en la carpeta node_modules bajo este directorio
  • los paquetes globales se ponen todos en un único lugar de tu sistema (exactamente dónde depende de tu configuración), independientemente de dónde ejecutes npm install -g <package-name>

En tu código sólo puedes requerir paquetes locales:

require('package-name')

¿Cuándo debes instalar de una forma u otra?

En general, todos los paquetes deberían instalarse localmente.

Esto asegura que puedas tener docenas de aplicaciones en tu ordenador, todas ejecutando una versión diferente de cada paquete si es necesario.

Actualizar un paquete global haría que todos tus proyectos usaran la nueva versión, y como puedes imaginar esto podría causar pesadillas en términos de mantenimiento, ya que algunos paquetes podrían romper la compatibilidad con otras dependencias, etc.

Todos los proyectos tienen su propia versión local de un paquete, incluso si esto puede parecer un desperdicio de recursos, es mínimo en comparación con las posibles consecuencias negativas.

Un paquete debe ser instalado globalmente cuando proporciona un comando ejecutable que se ejecuta desde el shell (CLI), y se reutiliza a través de los proyectos.

También puede instalar comandos ejecutables localmente y ejecutarlos usando npx, pero algunos paquetes son simplemente mejor instalados globalmente.

Grandes ejemplos de paquetes globales populares que puede conocer son

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

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

Probablemente ya tengas algunos paquetes instalados globalmente en tu sistema. Puede verlos ejecutando

npm list -g --depth 0

en su línea de comandos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.