npm es el administrador de paquetes predeterminado para Node.js. Facebook lleva mucho tiempo desarrollando una solución alternativa de gestión de paquetes llamada Yarn . Yarn parece estar desapareciendo lentamente de los archivos Léame de Github como solución estándar y las estadísticas en el sitio oficial muestran que Yarn lleva a cabo solo una fracción de los paquetes. Sin embargo, vale la pena pensar fuera de la caja.
Yarn es totalmente compatible con los archivos package.json existentes, por lo que puede usar ambas soluciones para proyectos existentes sin ningún problema. Los comandos de las dos soluciones difieren solo marginalmente. Aquí hay una comparación de los comandos más importantes.:
Descripción | npm | Hilo |
Inicializar | npm init | hilo init |
Actualizar | npm install -g npm | actualización automática de hilo |
Paquete de instalación | npm install - guardar [nombre] | hilo añadir [nombre] |
Paquete de instalación | npm install --save-dev [nombre] | añadir hilo --dev [nombre] |
Instalar paquete globalmente | npm install -g [nombre] | hilo global añadir [nombre] |
Instalar todos los paquetes | npm install | instalación de hilo |
Actualizar todos los paquetes | actualización npm | actualización de hilo |
Desinstalar paquete | npm eliminar [nombre] | hilo quitar [nombre] |
Yarn comenzó con el objetivo de resolver algunas de las debilidades de npm. La diferencia más obvia es el mayor rendimiento: a través de instalaciones incrementales, subprocesos múltiples y la última característica asesina Plug'n'Play (PNP), el rendimiento aumenta drásticamente. Plug'n'Play descarta la idea de una carpeta node_modules basada en proyectos, la cantidad de archivos que a menudo pueden crecer hasta alturas astronómicas . Puede encontrar más información sobre esto en el documento técnico oficial sobre Plug'n'Play. Instalamos eslint una vez con npm y luego con hilo con el caché calentado en cada caso para marcar la diferencia de velocidad (¡6x!).: