Instalación y uso del gestor de paquetes Yarn en Linux
Yarn es un poderoso gestor de paquetes para JavaScript diseñado para hacer que la gestión de dependencias sea más simple y eficiente. Originalmente desarrollado por Facebook, se volvió popular debido a su velocidad y fiabilidad en comparación con otros gestores de paquetes como npm (Node Package Manager). En este artículo, aprenderás cómo instalar Yarn en Linux, cómo usarlo y cuáles son las principales diferencias entre Yarn y npm (incluyendo pros y contras).
Instalando Yarn en Linux
Yarn se puede instalar en varias distribuciones de Linux. A continuación se presentan los métodos de instalación comunes.
Método 1: Instalar Yarn usando APT
Este es el método más común para instalar Yarn en sistemas basados en Debian.
- Actualizar la lista de paquetes:
sudo apt update - Instalar dependencias requeridas: Si curl no está instalado, instálalo:
sudo apt install curl - Agregar el repositorio APT de Yarn:
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/yarn.gpg echo "deb [signed-by=/etc/apt/keyrings/yarn.gpg] https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list - Actualizar la lista de paquetes nuevamente:
sudo apt update - Instalar Yarn:
sudo apt install yarn - Verificar la instalación:
yarn --version
Método 2: Instalar Yarn usando npm
Si Node.js y npm ya están instalados, puedes instalar Yarn a través de npm:
- Instalar Node.js y npm (si no están instalados):
sudo apt install nodejs npm - Instalar Yarn globalmente usando npm:
npm install --global yarn
Usando comandos comunes de Yarn
- Inicializar un nuevo proyecto: Ve a tu directorio de proyecto y ejecuta:
yarn initSigue las indicaciones para crear un package.json file.
- Agregar una dependencia:
yarn add package-name - Agregar una dependencia de desarrollo:
yarn add package-name --dev - Eliminar una dependencia:
yarn remove package-name - Instalar todas las dependencias: Si tienes un package.json, instala dependencias con:
yarn install - Actualizar una dependencia:
yarn upgrade package-name
Ejecutando scripts
Yarn también puede ejecutar scripts definidos en package.json:
yarn run script-name
Yarn vs npm: diferencias, pros y contras
Diferencias clave
- Lockfiles:
- Yarn: Usa yarn.lock para bloquear versiones de dependencias, ayudando a asegurar instalaciones consistentes a través de entornos.
- npm: Introdujo un mecanismo similar en npm 5 con package-lock.json.
- Velocidad de instalación:
- Yarn: A menudo más rápido debido a instalaciones paralelas y almacenamiento en caché.
- npm: Históricamente más lento, pero mejoró significativamente en versiones más nuevas.
- Comandos CLI:
- Muchos comandos son similares, pero Yarn incluye comandos únicos como yarn upgrade-interactive para actualizaciones interactivas.
- Workspaces:
- Yarn: Soporta workspaces para gestionar monorepos.
- npm: Agregó soporte para workspaces en npm 7.
Yarn: pros y contras
Pros:
- Velocidad: Instalaciones más rápidas a través de almacenamiento en caché y paralelismo.
- Instalaciones deterministas: Instalaciones consistentes a través de entornos usando yarn.lock.
- CLI amigable para el usuario: A menudo se considera más intuitivo con mejor salida.
- Workspaces: Soporte integrado para gestión de monorepos.
Contras:
- Dependencia de Node.js: Node.js debe estar instalado antes de usar Yarn.
- Curva de aprendizaje: Los nuevos usuarios pueden necesitar tiempo para acostumbrarse a las diferencias en comparación con npm.
npm: pros y contras
Pros:
- Adopción generalizada: Incluido con Node.js, lo que lo hace comúnmente utilizado y bien soportado.
- Ecosistema maduro: Gran comunidad y amplios recursos de solución de problemas.
- Simplicidad: Familiar para la mayoría de los desarrolladores de JavaScript.
Contras:
- Velocidad: Históricamente más lento que Yarn, aunque actualizaciones recientes mejoraron el rendimiento.
- Menos determinista (históricamente): Antes de npm 5, las instalaciones podían variar entre entornos sin un lockfile.
Conclusión
Yarn es un poderoso gestor de paquetes que ofrece características destinadas a mejorar el flujo de trabajo de desarrollo de JavaScript. Gracias a su velocidad, instalaciones deterministas y comandos convenientes, se ha convertido en una opción popular entre los desarrolladores. Mientras que npm sigue siendo ampliamente utilizado y continúa evolucionando, la elección entre Yarn y npm a menudo se reduce a la preferencia personal o del equipo. Al comprender las fortalezas y debilidades de ambos, puedes tomar una decisión más informada sobre qué gestor de paquetes se adapta mejor a las necesidades de tu proyecto.
