npm

> Temas > npm
Editar

npm es el gestor de dependencias oficial de NodeJS, sirve para mantener el software del que dependen las aplicaciones que se desarrollan con Javascript o Node.

npm son las siglas de Node Package Manager y básicamente consiste en una herramienta de línea de comandos que se usa para instalar y actualizar dependencias en proyectos Javascript o NodeJS, así como publicar packages que se podrán usar en otros proyectos.

Las dependencias son todo aquel software en el que nos basamos para construir aplicaciones. Son todas las librerías de terceros, frameworks y similares sobre los que construimos cualquier proyecto. Estas piezas de software nos permiten ir más rápido y no reinventar la rueda constantemente, sino simplemente implementar mediante el código publicado por otras personas o equipos de desarrollo.

Gracias a npm podemos descargar el código de las librerías que nos hacen falta en un proyecto y además, cuando lo deseamos, actualizar esas librerías para obtener las versiones más modernas, estables o corregir sus problemas de seguridad.

Además, npm también permite publicar packages de Node o Javascript en general, en un repositorio que mantiene el propio npm. Estos repositorios pueden ser públicos, donde se colocan piezas de software libre, o privados, donde se publica código que pertenece exclusivamente a una organización. El repositorio donde se encuentran los packages públicos está en npmjs.com.

La herramienta npm proviene del ecosistema Node, sin embargo, se puede usar tanto en aplicaciones backend como en aplicaciones frontend para el navegador.

Más información:

npm

Instalar npm

No hace falta mucho para instalar npm, simplemente instalar NodeJS, ya que npm se instala de manera automática cuando se instala Node.

La única recomendación sería usar un sistema como nvm para instalar Node, lo que nos permite disponer de varias versiones de NodeJS en el mismo ordenador, lo que a veces es necesario si llevas varios proyectos en tu ordenador de desarrollo, que pueden requerir versiones de node o npm distintas.

Editar

Inicializar un proyecto Javascript o Node para gestionar las dependencias con npm

Para poder usar npm para la gestión de las dependencias de un proyecto usamos el comando siguiente:

npm init

Ese comando correrá un asistente que nos solicitará diversos tipos de informaciones, necesarias para crear el archivo package.json.

Si deseamos que ese archivo se cree directamente sin necesidad de preguntarnos nada, podemos lanzar el comando con el flag -y.

npm init -y

Ambos comandos simplemente crearán el archivo package.json en la carpeta donde acabamos de lanzarlos. A partir de este punto podremos usar npm para instalar dependencias en este proyecto.

Editar

Cómo instalar dependencias con npm

Para instalar dependencias con npm (Node Package Manager) usamos la consola de comandos. Nos debemos meter en la carpeta del proyecto y haberlo inicializado con npm init previamente, tal como se describió en el bloque anterior.

Para instalar una nueva dependencia y agregarla a tu package.json, usamos el comando npm install seguido del nombre del paquete que se necesita. Por ejemplo:

npm install express

Esto instalará el paquete express y lo añadirá a la lista de dependencias en tu package.json.

Instalar todas las dependencias listadas en package.json

Otra vía que puedes usar para instalar las dependencias ocurre cuando ya tienes un proyecto en el que tu package.json contiene la lista de dependencias que se deben incorporar para que funcione.

En estos casos, si se quiere instalar las dependencias listadas en el package.json solo se necesita lanzar este comando:

npm install

A veces podrás encontrar que se usa este mismo comando con su shortcut:

npm i

Editar

Dependencias de desarrollo y dependencias "comunes" en el package.json

Para entender npm y la gestión de dependencias en proyectos Javascript y Node es importante saber diferenciar entre las dependencias "comunes" o las dependencias "de desarrollo".

A veces podemos hacer referencia a dependencias de producción (o simplemente "dependencias") a las dependencias "comunes". Por su parte dependencias de desarrollo es siempre entendido por ese mismo término.

Cada tipo de dependencia tiene un propósito distinto en el ciclo de desarrollo de una aplicación.

Dependencias de Producción

Las dependencias de producción son aquellas que son necesarias para que la aplicación funcione correctamente en el entorno de producción. Esto incluye todas las librerías que se ejecutan como parte del funcionamiento normal de la aplicación.

Por ejemplo, si estás construyendo una aplicación web con Express, necesitarás incluir Express como una dependencia de producción porque sin ella, tu servidor no podría funcionar.

Para instalar una dependencia de producción y añadirla automáticamente a tu archivo package.json, utilizas el comando npm install seguido del nombre del paquete:

npm install express

Este comando instala el paquete en la carpeta node_modules y lo añade bajo el campo "dependencies" en tu package.json.

Dependencias de Desarrollo

Las dependencias de desarrollo son aquellas que se necesitan solo durante el desarrollo o el mantenimiento de la aplicación, pero no son necesarias para ejecutar la aplicación en producción. Esto incluye herramientas como compiladores de código, linters, y sistemas de pruebas.

Por ejemplo, si usas webpack para empaquetar tus aplicaciones o jest para realizar pruebas, estos se considerarían dependencias de desarrollo porque no son necesarios en el entorno de producción.

Para instalar una dependencia de desarrollo y añadirla a tu package.json, utilizas el comando npm install con el flag --save-dev:

npm install jest --save-dev

Muchas veces lo verás usar con el flag shortcut -D:

npm install jest -D

Este comando instala el paquete y lo añade bajo el campo "devDependencies" en tu package.json.

Editar

¿Quieres añadir algo sobre npm?

Crea artículos, recursos o comparte información sobre npm

Crear un bloque

Temas relacionados

Preguntas y respuestas de npm

Se han recibido 3 faqs en npm

Hacer una pregunta