paquetes locales o globales de npm

¿Cuándo es mejor instalar un paquete a nivel mundial? ¿Por qué?

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

  • paquetes localesestán instalados en el directorio donde ejecutanpm install <package-name>, y se ponen en elnode_modulescarpeta en este directorio
  • paquetes globalesse colocan en un solo lugar en su sistema (exactamente donde depende de su configuración), independientemente de dónde ejecutenpm install -g <package-name>

En su código, ambos son obligatorios de la misma manera:

require('package-name')

Entonces, ¿cuándo debería instalarlo de una forma u otra?

En general,todos los paquetes deben instalarse localmente.

Esto asegura que pueda tener docenas de aplicaciones en su computadora, todas ejecutando una versión diferente de cada paquete si es necesario.

La actualización de un paquete global haría que todos sus proyectos usaran la nueva versión y, como puede 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 paquetedebe instalarse globalmentecuando proporciona un comando ejecutable que se ejecuta desde el shell (CLI) y se reutiliza en todos los proyectos.

También puede instalar comandos ejecutables localmente y ejecutarlos usandonpx, pero algunos paquetes simplemente se instalan mejor a nivel mundial.

Grandes ejemplos de paquetes globales populares que quizás conozcas son

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

Probablemente ya tenga algunos paquetes instalados globalmente en su sistema. Puedes verlos corriendo

npm list -g --depth 0

en su línea de comando.

Descarga mi gratisManual de Node.js


Más tutoriales de nodos: