Blog
En la anterior entrada hablamos sobre NodeJS, MongoDB y ExpressJS. Estas tres tecnologías se conectan perfectamente para crear una aplicación completa en tiempo real, mediante el uso de una base de datos no relacional y un framework MVC.
Sin embargo, para poder instalar paquetes adicionales en NodeJS, como puede ser ExpressJS o Mongoose necesitaremos un gestor de paquetes que nos permita instalar estas dependencias con rapidez y tenerlas actualizadas.
Que es NPM
NPM (Node Package Manager) es un gestor de paquetes que se conecta a una base de datos online para proporcionarnos paquetes para nuestros proyectos. Estos paquetes se pueden acceder a través de su página web, o a través del cliente, que instalaremos a continuación.
Por ejemplo, para acceder al paquete Express, que es el que usaremos en este curso, podemos ir a su sitio web y ver toda la información, como es el peso, versión, descargas totales, última actualización, ejemplos etc.
Mediante su buscador, ubicado en la parte superior, podremos buscar cualquier paquete, aunque en este curso vamos a emplear Mongoose y Express.
A través de un archivo packages.json que veremos a continuación en detalle, podremos gestionar estos paquetes desde el cliente npm y tenerlos actualizados.
Instalar NPM y Node
Para poder usar NPM, necesitaremos Node, que es imprescindible para nuestro proyecto y de hecho será su base. Para instalarlo, debemos de ir a su web oficial y hacer click sobre “Download Node.js and npm” como se ve en la siguiente imagen:
Una vez nos lleve a la página oficial de NodeJS, nos detectará el sistema operativo y la arquitectura del mismo. En caso de programar desde Windows, se descargará un exe de fácil instalación. Si usamos una distribución Linux, como es nuestro caso, la mejor forma es añadir su repositorio para tener la versión 12, ya que por defecto en Ubuntu viene la versión 8 de NodeJS. Para ello, debemos abrir la terminal y pegar los siguientes comandos:
sudo apt-get install curl curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash - sudo apt-get install nodejs
Con esto tendremos ya instalado NodeJS y npm en nuestro equipo. Para verificarlo, basta con ejecutar el siguiente comando y verificar que tengamos la versión 12 de Node y también instalado npm:
node -v npm -v
Crear el proyecto
Con NPM podemos crear el proyecto con tan sólo una línea de comandos. Primero, tendremos que situarnos en la carpeta del proyecto que queramos usar. Por ejemplo, para este curso crearemos una carpeta que se llamará curso_men. Nos situaremos en ella desde la terminal y crearemos el proyecto· Lo hemos hecho con los siguientes comandos:
cd /opt/lampp/htdocs/curso npm init
Hay que remarcar que muchos IDE tienen soporte para npm, permitiendo crear la carpeta y el proyecto de forma gráfica. Sin embargo creemos que esta forma es mucho más rápida y tenemos que aprender a manejarnos con los comandos básicos de npm.
Cuando ejecutemos npm init, nos hará una serie de preguntas para poder rellenar el archivo package.json. Si se pulsa Enter se rellenará el valor por defecto. Los valores mencionados son los siguientes:
- package name: Nombre del paquete. Ojo, el nombre debe de ser amigable y no puede contener espacios ni caracteres especiales ni mayúsculas.
- version: Versión del proyecto, podemos dejarlo en 1.0.0 y cambiarlo más adelante.
- description: Una buena descripción de lo que contiene el proyecto.
- entry point: Archivo por defecto a ejecutar.
- test command: Test a ejecutar.
- git repository: Enlace al repositorio en caso de tener uno alojado por ejemplo en Github.
- keywords: Palabras clave del proyecto.
- author: Nombre del autor.
- license: Licencia de uso.
Una vez rellenados todos los datos, nos pedirá confirmación para crear el proyecto, y ya estará listo para empezar a programar.
Instalar dependencias con npm
Ahora que tenemos nuestro proyecto configurado, vamos a terminar la clase instalando dependencias desde la terminal.
Por ejemplo, si queremos instalar Express, el framework de Node, podemos indicar también que es una dependencia del proyecto dentro del archivo que ha generado npm.
Esto lo podemos conseguir con el comando:
npm install express --save
Atención al parámetro –save, el cual es el que nos permite añadir la dependencia en el archivo package.json.
Si lo ejecutamos, nos devolverá un resultado como el de la siguiente imagen:
Esto quiere decir que ya ha sido instalado en su versión 4.17.1 y si vamos al fichero package.json nos encontraremos que ha añadido las siguientes líneas:
dependencies": { "express": "^4.17.1" }
Es importante destacar que ese símbolo “^” delante de express, indica que si actualizamos las dependencias, express se actualizará hasta que saquen la versión 5 (versión mayor).
Si en vez del símbolo “^” usamos el símbolo “~”, esto indicará que se seguirá actualizando hasta que saquen la versión 4.18 (versión menor).
Actualizar dependencias
Para actualizar las dependencias de nuestro proyecto una vez configurado, podemos emplear el siguiente comando para comprobar si hay alguna actualización:
npm outdated
El cual nos indicará si hay versiones más nuevas. Si queremos aplicar los cambios y actualizar las dependencias del proyecto, tan solo debemos de ejecutar este comando:
npm update
Desinstalar dependencias
Para desinstalar dependencias también tenemos un comando sencillo. Para ello, tendremos que ejecutar el siguiente:
npm unistall express
El cual eliminará la dependencia del proyecto y con el cual concluimos la clase de hoy habiendo aprendido a manejar el gestor de paquetes npm a la perfección.