Los 3 principales administradores de paquetes de Node.js para Linux


Node.js es uno de los lenguajes de programación más populares de la industria del desarrollo de software en todo el mundo. Al desarrollar y usar aplicaciones Node.js, un software común en el que los desarrolladores y los usuarios generales siempre se encontrarán confiando es un administrador de paquetes.

Un administrador de paquetes de Node.js interactúa con los repositorios de paquetes en línea (que contienen bibliotecas, aplicaciones y paquetes relacionados de Node.js) y ayuda de muchas maneras, incluida la instalación de paquetes y la administración de dependencias. Algunos administradores de paquetes también cuentan con componentes de administración de proyectos.

Por ejemplo, si está escribiendo una aplicación web y se da cuenta de que una biblioteca externa gratuita que implementa una funcionalidad determinada dentro de su aplicación ya existe en un repositorio público, puede usar un administrador de paquetes para instalarlo en su sistema en el directorio de aplicaciones e integrarlo. con su aplicación.

El administrador de paquetes también ayuda a especificar la biblioteca como una dependencia para su aplicación, de modo que en cualquier sistema donde esté instalada la aplicación, también se instalará la biblioteca, para que la aplicación funcione correctamente.

En este artículo, revisaremos los principales administradores de paquetes de Node.js que puede instalar en un sistema Linux.

1. NPM - Administrador de paquetes de Node.js

npm no necesita presentación en el ecosistema Node.js. Pero, ¿qué es npm? npm es una combinación de muchas cosas en realidad: es un administrador de paquetes de Node, un registro de npm y un cliente de línea de comandos de npm.

Primero, npm es un administrador de paquetes de Node.js multiplataforma que fue desarrollado para ayudar a los desarrolladores de JavaScript a compartir fácilmente su código en forma de paquetes. Para instalar y publicar paquetes, los desarrolladores utilizan un cliente de línea de comandos llamado npm, que también se utiliza para la gestión de versiones y la gestión de dependencias. Se ejecuta en Linux y otros sistemas similares a UNIX, Windows y macOS.

Además, npm también es un repositorio en línea seguro para la publicación de proyectos Node.js de código abierto, como bibliotecas y aplicaciones. Es uno de los registros de software de código abierto más grandes y populares de la web. Puede usarlo de forma gratuita, una opción que le permite crear paquetes públicos, publicar actualizaciones, auditar sus dependencias y hacer más.

Alternativamente, puede registrarse en npm Pro para disfrutar de una experiencia de desarrollo premium que viene con muchos beneficios, como repositorios privados. Los grandes equipos de desarrollo que trabajan en proyectos críticos para el negocio pueden optar por npm Enterprise, que les permite desarrollar paquetes internamente que no se comparten públicamente.

El cliente de línea de comandos npm se distribuye con el paquete Node.js, esto significa que cuando instale Node.js en su sistema Linux, automáticamente también instalará npm. Curiosamente, npm se usa para instalar todos los demás administradores de paquetes de Node.js que se describen a continuación.

npm también es compatible con la seguridad de JavaScript, integrando npm con herramientas de terceros, como los sistemas CI/CD (integración continua/entrega continua), y mucho más.

Para instalar la última versión de Node.js y NPM en sistemas Linux, siga los comandos de su distribución de Linux respectiva.

$ curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
$ sudo apt-get install -y nodejs
# curl -sL https://rpm.nodesource.com/setup_14.x | bash -
# yum -y install nodejs
Or
# dnf -y install nodejs

2. Yarn - Administrador de paquetes de Node.js

Yarn no solo es un administrador de paquetes rápido, seguro, confiable y de código abierto, sino que también es un administrador de proyectos para proyectos estables y reproducibles. Yarn funciona en todas partes: en Linux, Windows y macOS, y otros sistemas operativos similares a UNIX que admiten Node.js.

Como administrador de paquetes, le permite compartir su código a través de un paquete con otros desarrolladores en todo el mundo. De la misma manera, también puede usar código de otros desarrolladores en su aplicación.

Yarn admite espacios de trabajo para proyectos monorepo pequeños, medianos y grandes al permitirle dividir su proyecto en subcomponentes almacenados en un solo repositorio. Otra característica clave de Yarn es la caché fuera de línea que le permite funcionar bien incluso cuando la red está inactiva.

Yarn también se envía con una API modular que se puede ampliar a través de complementos. Puede usar complementos oficiales o escribir los suyos propios. Los complementos se pueden usar para agregar nuevas funciones, nuevos resolutores, nuevos enlazadores, nuevos comandos, registrarse en algunos eventos y se pueden integrar entre sí. Además, cuenta con una API Plug'n'Play (PnP) que le permite realizar una introspección del árbol de dependencias en tiempo de ejecución.

Además, Yarn también está bien documentado y algunas de sus características aún están en incubación, como las restricciones, el flujo de trabajo de lanzamiento y la “instalación cero”, que es más una filosofía que una característica.

Para instalar la última versión de Yarn en sistemas Linux, primero debe instalar Node.js en el sistema y luego instalar Yarn usando los siguientes comandos en su distribución de Linux respectiva.

$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
$ echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
$ sudo apt update
$ sudo apt install yarn
# curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
# rpm --import https://dl.yarnpkg.com/rpm/pubkey.gpg
# yum install yarn
OR
# dnf install yarn

3. Pnpm - Administrador de paquetes de Node.js

pnpm es un administrador de paquetes de código abierto, rápido y eficiente en el espacio en disco. Es multiplataforma, funciona en Linux, Windows y macOS. A diferencia de npm y yarn, que crean un directorio plano node_modules, pnpm funciona de forma un poco diferente: crea un diseño no plano node_modules que utiliza enlaces simbólicos para crear una estructura anidada de dependencias.

Los archivos dentro de node_modules están vinculados desde un único almacenamiento direccionable por contenido. Este enfoque es eficaz porque le permite ahorrar gigabytes de espacio en disco.

El enfoque node_modules no plano también hace que pnpm sea estricto cuando se trata de la administración de dependencias, permite que un paquete solo acceda a las dependencias especificadas en su archivo package.json. También tiene soporte incorporado para espacios de trabajo, lo que significa que puede crear un espacio de trabajo para unir múltiples proyectos dentro de un solo repositorio.

Es importante destacar que pnpm se puede utilizar fácilmente en varias aplicaciones de CI, como Travis, Semaphore, AppVeypr y Sail CI. Y puede configurar su proyecto de manera que otros usuarios solo puedan usar pnpm pero no los otros administradores de paquetes Node.js anteriores, por ejemplo, cuando alguien intenta ejecutar "npm install" o "yarn install".

pnpm también admite alias que le permiten instalar paquetes con nombres personalizados, completar la pestaña de la línea de comandos y usa un archivo de bloqueo llamado pnpm-lock.yaml.

La forma más sencilla de instalar pnpm es utilizando el administrador de paquetes npm como se muestra.

$ sudo npm install -g pnpm
# npm install -g pnpm

En este artículo, hemos revisado los principales administradores de paquetes de Node.js que puede instalar en Linux. Nos gustaría conocer sus opiniones sobre este artículo, compártalas con nosotros a través del formulario de comentarios a continuación.