Lectores como tú ayudan a apoyar a MUO. Cuando realiza una compra utilizando enlaces en nuestro sitio, podemos ganar una comisión de afiliado. Leer más.

Una de las mejores características de Node son los administradores de paquetes. Hay muchas formas diferentes de instalar y administrar paquetes de nodos. Aquí, veremos los pros y los contras de usar un administrador de paquetes o usar más de un administrador de paquetes, y algunas de las mejores formas de usarlos juntos.

¿Qué es un administrador de paquetes que preguntas? Siga leyendo para averiguarlo.

¿Qué son los administradores de paquetes?

En el mundo del desarrollo de software, las dependencias son lo que necesita para ejecutar su proyecto. Son como los ingredientes de una receta: sin ellos, no pasa nada.

Por ejemplo, si está escribiendo una aplicación que usa JavaScript y desea acceder a algunas funciones de una biblioteca llamada jQuery (que muchos sitios web usaron una vez), entonces jQuery será una de sus dependencias. ¡Lo necesitarás instalado para que cuando alguien visite tu sitio, pueda ver esas animaciones geniales o interacciones que has creado con él!

instagram viewer

Los administradores de paquetes ayudan a administrar estas relaciones entre proyectos al administrar las dependencias por nosotros, por lo que no tenemos que preocuparnos por descargarlos manualmente cada vez que queremos que se agregue o actualice algo nuevo; también se aseguran de que todo funcione en conjunto correctamente y se ejecute sin problemas una vez instalado (que a veces es más fácil decirlo que hecho).

El nodo viene preempaquetado con un administrador de paquetes llamado NPM

NPM es el administrador de paquetes predeterminado y, como tal, está integrado en el tiempo de ejecución del nodo. Puede usar NPM para instalar paquetes desde GitHub o MNP directamente. También puede publicar sus paquetes en este sitio para que otros puedan instalarlos usando su versión de NPM.

NPM no solo se usa para instalar paquetes; también maneja la resolución de dependencias y los conflictos de versión entre dos o más bibliotecas o módulos requeridos en la base de código de su aplicación.

Esto significa que si hay varias versiones de algo como Express ejecutándose en su servidor en un momento dado, NPM se asegurará de que cada instancia obtenga lo que necesita sin entrar en conflicto con otras instancias que hacen un trabajo similar, y todo sin requerir que haga nada especial más allá de simplemente vocación requerir() en un objeto cuando sea necesario!

NPM es una herramienta increíblemente poderosa y es fácil comenzar a usarla. Pero si es nuevo en Node y JavaScript, puede ser un desafío saber qué herramientas están disponibles para su uso y cuáles son las mejores para un proyecto determinado.

El principal problema con NPM es que es lento para instalar paquetes. Esto no es un gran problema si solo está ejecutando uno o dos scripts ocasionales, pero puede ser increíblemente frustrante si está tratando de construir una aplicación completa que usa docenas de bibliotecas diferentes y herramientas.

Yarn y PNPM son más rápidos que NPM

Yarn es una alternativa segura y confiable a NPM que utiliza un archivo de bloqueo para evitar sobrescrituras accidentales y garantiza que sus dependencias se resuelvan correctamente al instalar paquetes.

También tiene un tiempo de instalación más rápido que NPM, lo que lo hace especialmente útil si está trabajando con proyectos grandes que tienen muchos módulos con muchas dependencias.

PNPM es una alternativa tanto a Yarn como a NPM, pero aún no es tan popular porque no tiene algunas de las funciones que se encuentran en ninguno de los dos (como archivos de bloqueo). Sin embargo, sus desarrolladores afirman que PNPM puede instalar paquetes hasta cuatro veces más rápido que Yarn o NPM gracias a su ligereza; ¡Esto también significa menos uso de espacio en disco en su computadora!

Si está creando un proyecto que requiere solo un puñado de dependencias, es probable que Yarn o NPM sean suficientes. Sin embargo, si está trabajando con proyectos grandes con muchos módulos y dependencias, PNPM podría ser la mejor opción para usted.

Ventajas de usar múltiples administradores de paquetes

Un solo administrador de paquetes solo puede manejar una versión de cualquier biblioteca dada a la vez. Si desea utilizar dos versiones diferentes de la misma biblioteca para otros proyectos o en diferentes entornos (por ejemplo, producción vs. desarrollo), entonces necesitará dos paquetes separados instalados en su sistema.

Credito de imagen: PNPM

Esto puede generar conflictos si ambos paquetes intentan actualizar su versión de la misma dependencia al mismo tiempo. El uso de múltiples administradores de paquetes significa que tiene más control sobre qué dependencias están instaladas y dónde, lo que ayuda a evitar este tipo de conflictos.

Otro beneficio es que cuando se usan múltiples administradores de paquetes, cada uno proporcionará su propio conjunto único de características. Algunos pueden ser más rápidos que otros; algunos pueden tener mejores capacidades de gestión de dependencias; otros pueden ser más adecuados para desarrollar aplicaciones dentro de ciertos marcos como ReactJS o VueJS, etc.

Finalmente, el uso de múltiples administradores de paquetes puede ayudar a mejorar la productividad de su desarrollador al reducir el tiempo dedicado a buscar e instalar dependencias. Esto se debe a que cada administrador de paquetes se diseñará con un conjunto específico de casos de uso en mente (por ejemplo, velocidad vs. seguridad contra gestión de dependencias, etc...).

Use múltiples administradores de paquetes instalándolos globalmente

Usando la línea de comando, puede especificar qué administrador de paquetes desea usar para un proyecto específico. Configure múltiples administradores de paquetes en su máquina:

  • NPM viene empaquetado con Node. Esto le permitirá instalar otros paquetes (y administradores de paquetes) desde la línea de comandos y administrar dependencias en todos sus proyectos con NPM. También es útil si desea ejecutar secuencias de comandos de NPM en un navegador (por ejemplo, Webpack), porque los navegadores no vienen con NPM preinstalado.
  • Instale Yarn globalmente también usando NPM. Esta es otra opción popular para administrar dependencias dentro de proyectos de JavaScript; tiene algunas ventajas sobre NPM que pueden hacerlo preferible para ciertos tipos de proyectos o equipos
  • Finalmente, instale PNPM. Este administrador de paquetes es una bifurcación de NPM que está diseñado para ser más rápido y más estable. También tiene algunas características adicionales que pueden ser útiles para algunos tipos de proyectos, como el soporte para dependencias de GitHub.

Tenga en cuenta que una instalación global significa que el paquete seleccionado estará disponible para todo su sistema (puede acceder a el programa en cualquier lugar a través de la línea de comando), mientras que una instalación local solo puede ser accedida por el sistema de trabajo actual. directorio.

Ejemplos del mundo real de cómo puede usar múltiples administradores de paquetes

Mira estos usos:

1. El hilo y el NPM se pueden usar juntos (p. crear-reaccionar-app)

Esto es útil cuando desea aprovechar la velocidad y la eficiencia de Yarn y al mismo tiempo mantener la compatibilidad con los paquetes de NPM. Si necesita la última versión de una biblioteca que aún no se ha actualizado para que sea compatible con Yarn, o si hay otra razón por qué su equipo preferiría quedarse con NPM a pesar de su velocidad más lenta o conjunto de funciones limitado, entonces esto podría funcionar bien para su proyecto. ¡También ayuda a evitar tener dos árboles de dependencia separados en su configuración de repositorio mono!

2. Uso de Yarn para paquetes globales y PNPM para instalaciones locales

Si bien PNPM es el administrador de paquetes más rápido, puede ser complicado de usar para paquetes instalados globalmente. Esto se debe a que utiliza una estructura de archivos diferente que puede causar problemas de compatibilidad con programas como Visual Studio Code. Aquí es donde entra el hilo. Puede usarlo para sus paquetes instalados globalmente y PNPM para instalaciones locales. Esta solución es una buena manera de obtener los beneficios de ambos administradores de paquetes sin tener que cambiar demasiado su flujo de trabajo. Con esta configuración, si desea volverse loco, puede eliminar NPM de su sistema por completo (pero siempre es bueno tener NPM como respaldo).

3. Uso de PNPM con NPM como respaldo

Esta es una buena opción a considerar en caso de que quiera usar PNPM, pero no quiere que todos sus desarrolladores tengan que aprender una nueva herramienta todavía. Les permite continuar trabajando con NPM hasta que se sientan cómodos con PNPM y lo necesiten para su trabajo.

El uso de múltiples administradores de paquetes facilita las cosas

Puede utilizar varios administradores de paquetes. Puede instalarlos global o localmente, y si desea especificar qué administrador de paquetes debe usarse para un proyecto específico, ¡simplemente use la línea de comando!

Si desea instalar varios administradores de paquetes en su sistema, asegúrese de estar utilizando la misma versión de Node.js.

En conclusión, creemos que debería usar más de un administrador de paquetes. Es una excelente manera de comenzar con Node y también aprender algunas herramientas nuevas si ya está familiarizado con NPM. Si aún no tiene Node instalado, la configuración es fácil en Windows.