Por qué probablemente querrá usar más de un administrador de paquetes de nodos
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 alguna 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!
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 agregar o actualizar algo nuevo; también se aseguran de que todo funcione en conjunto correctamente y funcione sin problemas una vez instalado. (que a veces es más fácil decirlo que hacerlo).
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 NPM 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 realizan un trabajo similar, y todo sin requerir que usted haga nada especial. más allá de simplemente llamar a require() 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 crear una aplicación completa que use docenas de bibliotecas y herramientas diferentes.
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 frente a desarrollo), necesitará dos paquetes separados instalados en su sistema.
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á teniendo en cuenta un conjunto específico de casos de uso (por ejemplo, velocidad frente a seguridad frente a 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 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 al programa desde cualquier lugar a través de la línea de comandos), mientras que a una instalación local solo se puede acceder desde el directorio de trabajo actual.
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 (por ejemplo, crear-reaccionar-aplicación)
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 la que su equipo prefiere quedarse con NPM a pesar de su velocidad más lenta o su 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 Yarn. 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.
Deja una respuesta