El sistema operativo, por defecto, cuenta con sus propios gestores de paquetes que permiten gestionar un único entorno de aplicaciones. El acceso a repositorios de confianza, la eliminación y la instalación son parte de la funcionalidad de winget, apt, rpm y similares.
Sin embargo, no siempre es posible encontrar el paquete de aplicación necesario para proxy, tunelización de tráfico, copias de seguridad y otras tareas con subsistemas. Para ello, existen repositorios de intérpretes/compiladores que permiten usar paquetes de toda la comunidad.
En este artículo, consideraremos uno de ellos: ¡el administrador de paquetes npm!
¿Qué es NPM y cómo instalarlo?
NPM es un gestor de paquetes del framework NodeJS que permite gestionar el entorno de la aplicación para un intérprete determinado. A continuación, instalaremos y analizaremos su funcionalidad básica; para ello, se necesita NodeJS y npm. Para sistemas tipo DEB, usaremos:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
\. "$HOME/.nvm/nvm.sh"
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
nvm install 22
npm -v

El parámetro -s verifica la existencia de un archivo en la ruta especificada, y \. es sinónimo de origen, que aplicará estas rutas a las variables de entorno. Para WindowsPodemos utilizar un gestor de paquetes propietario:
winget install Schniz.fnm
fnm install 22
npm -v
Al descargar datos de recursos de terceros, es recomendable comprobar las firmas o hashes que permiten verificar que los paquetes no se hayan modificado durante la transmisión. Sin embargo, dado que descargamos desde recursos confiables, los certificados SSL garantizan la confidencialidad de los datos transmitidos.
Para trabajar con la utilidad, puede utilizar la sintaxis del tipo npm:
npm -h

¿Cómo encontrar paquetes npm en el repositorio?
El comando de búsqueda se utiliza como base, lo que permite encontrar paquetes por índice en el repositorio:
npm search nginx

Puede utilizar varios maxi y plantillas para realizar la búsqueda si no está seguro de la exactitud:
npm search gsocket*

Alternativamente, puede buscar a través de la aplicación web, donde también puede seleccionar paquetes para su instalación.
¿Cómo instalar/eliminar paquetes npm que ya hemos encontrado?
Podemos utilizar todos los mismos comandos intuitivos:
npm install ngx

Después, se cargará en la biblioteca con instrucciones, que pueden ejecutarse directamente desde la línea de comandos. Con el segundo comando, simplemente eliminamos los paquetes:
npm remove ngx -g
Para ver información sobre lo que se instaló y eliminó anteriormente, podemos usar el comando ver:
npm view ngx

Donde podemos ver sus hashes y dependencias, por ejemplo, para comprobar si contiene bibliotecas vulnerables. Npm también detecta vulnerabilidades por versión:
npm audit

¿Cómo publicar tus paquetes npm?
Para registrarse en npm (o iniciar sesión como un usuario diferente), ejecute:
npm adduser

El sistema te solicitará tu nombre de usuario, contraseña y correo electrónico. Ve a la carpeta con tu paquete y publícalo:
cd my-package/
npm publish
Asegúrese de que el archivo package.json esté correctamente rellenado. Si necesita eliminar el paquete del repositorio:
npm unpublish http-server
Los paquetes públicos pueden tener restricciones de eliminación. Puedes agregar o eliminar colaboradores que puedan publicar cambios:
npm owner add marak http-server
# Remove user marak from collaborators
npm owner rm marak http-server
# View the list of package owners
npm owner ls http-server
Esto permite que un equipo colabore en un paquete sin compartir una sola cuenta. Esto también permitirá que otros usuarios descarguen el paquete.
En este artículo, analizamos las funciones básicas para trabajar con el administrador de paquetes npm, que se comunica con el repositorio y le permite administrar paquetes y sus dependencias.