En este artículo vamos a hablar sobre NPM, el administrador de paquetes de Node.js. Existen multitud de recursos y bibliotecas escritas en Javascript en la web, que podemos utilizar en nuestros proyectos de desarrollo web.
NPM es el administrador de paquetes de Javascript que se utiliza en conjunto con Node.js, pero también existe la posibilidad de poder utilizarlo de forma independiente.
Para empezar a utilizar npm, simplemente debemos escribir el comando npm install <nombre_paquete>, y se procederá a inyectar el paquete en nuestro archivo javascript que estemos trabajando.
Si queremos instalar una versión específica de algún paquete, el comando anterior sería de la siguiente manera: npm install <nombre_paquete>@1.2.3, y si deseamos instalar un paquete de forma global en nuestro sistema, debemos utilizar el parámetro -g, a continuación la forma de utilizarlo para instalar el paquete de angular-CLI:
npm install -g angular-cli
En la mayoría de casos utilizaremos npm para instalar paquetes en nuestros proyectos de desarrollo con Javascript, pero en realidad este administrador de paquetes, trae muchas más funcionalidades.
Conoce una visión básica del uso de NPM, el administrador de paquetes JavaScript Share on X
Comandos NPM en la CLI
La CLI es la interfaz en donde la gran mayoría de usuarios pasan la mayor parte de su tiempo al trabajar con npm, y si deseas ver toda la ayuda del uso de npm, solo debemos utilizar el comando npm help.
A continuación algunos comandos destacados:
install: ya habíamos hablado un poco de este comando, sirve para instalar un nuevo paquete ya sea de forma local (en un solo proyecto) o de forma global, también sirve para instalar las dependencias en el archivo package.json (hablaremos luego de este archivo).
uninstall: Se utiliza para eliminar un paquete del directorio node_modules local o global.
access: permite poder generar permisos en los paquetes, es un comando muy poderoso para los desarrolladores que toman muy en serio la seguridad en sus proyectos, se utiliza conjuntamente con adduse, owner, team, etc.
bin: nos permite ver la ruta exacta en donde se instala un paquete.
config: trata principalmente con las propiedades de configuración persistentes en el archivo de configuración local o global, se acompaña junto con los comandos set, get ó delete.
ls: se utiliza para poder visualizar todas las dependencias que tiene un paquete, y nos muestra como una estructura de árbol. Es muy útil para comparar proyectos y ver que las dependencias sean las mismas.
publish: así como npm nos permite instalar diferentes paquetes, también podemos desarrollar nuestros propios paquetes, y para ello nos sirve el comando publish.
update: Sirve para actualizar cualquier paquete que pueda estar desactualizado.
Actualizando NPM
Aunque suene extraño, podemos actualizar npm utilizando el mismo comando npm, simplemente debemos utilizar el siguiente comando: npm install -g npm@latest, y lograremos actualizar a la última versión.
Hay un tema a considerar es que las versiones de Node.js, tienen un emparejamiento con las versiones de npm, es por ello que no sería recomendable cambiarlas ya que podríamos tener algún problema de incompatibilidad, es mejor actualizar ambos paquetes.
Archivo Package.json
Es un archivo crucial en un proyecto, que nos permite unir todos los componentes. Es un requisito indispensable para publicar un paquete en el registro de npm, donde cobran vida las dependencias.
Presenta dos campos obligatorios, “nombre” y “version”, juntas estas propiedades deben tener un identificador único, el campo nombre debe de cumplir con ciertas reglas, tal como se indica en la siguiente documentación, y el campo version debe cumplir con ciertas reglas semánticas.
Se puede tener una lista de dependencias muy larga, y definir una versión específica para cada una de ellas, a continuación una lista de propiedades destacables del archivo package.json:
PRINCIPAL (MAIN)
Define el punto de entrada de la aplicación, de forma predeterminada es index.js, pero se pude cambiar por app.js o main.js, eso va depende de cada programador.
GUIONES (SCRIPTS)
Se puede utilizar para hacer pre publicaciones, pero es más utilizado para crear alias de comandos de uso frecuente, que van desde tareas de ejecutar un webserver, instalación de otras dependencias, o iniciar un servidor de desarrollo con webpack.
DEPENDENCIAS (DEPENDENCIES)
En esta propiedad se define una lista de paquetes necesarios para el correcto funcionamiento de la aplicación que se esta desarrollando. Esta propiedad se pude modificar cuando se instala paquetes desde la terminal, esto se pude hacer utilizando el comando npm install –save o -s, luego los paquetes son agregados a la lista de dependencias.
De manera similar es cuando utilizamos el comando uninstall, se modifica esta propiedad al retirar la dependencia del paquete desinstalado.
Palabras finales
NPM tiene mucho poder, y para una correcta utilización recomendamos revisar la documentación que es muy extensa y específica, en este artículo solo brindamos una visión de lo que podemos hacer con npm con sus funcionalidades básicas.
Si por ejemplo deseas crear tus propios paquetes para npm, hay toda una documentación sobre ello, y todas las reglas que debes seguir para poder crear y publicar tus propios paquetes.
Si el artículo fue de tu agrado, ayúdanos difundiendo el mismo en tus redes sociales.
Aprende más sobre Node.js y NPM, empieza a aprender sobre JavaScript.
Visita este foro de programación para obtener ayuda
Hola
cuál foro
gracias
Ahora mismo no hay nada mejor que utilizar NPM y Webpack para bundling.
Hola quisiera preguntar qué puedo hacer si en un proyecto utilizo un paquete que tiene una dependencia con una vulnerabilidad que ya está arreglada y el desarrollador no quiere actualizar en npm su dependencia. En giltab ya lo tiene actualizado porque yo le hice un fork y finalmente la unió, después de semanas y todavía después de meses no la actualiza con npm publish. Muchas gracias