Npm

From Wiki de Caballero
Jump to navigation Jump to search

Qué es

El sitio de npm es npmjs.com.

En la esquina izquierda superior tienen una broma que le da significados divertidos a las siglas npm, pero en realidad significa Node Package Manager.

Fue pensado inicialmente para manejar paquetes de node, un framework creado para usar javascript en el servidor, una de las ideas detrás de node es usar el mismo lenguaje en el servidor y en el cliente así simplificando el proceso de desarrollo.


Como npm fue creado inicialmente como una herramienta para node, tiene paquetes pues... para node. Más adelante se agregaron paquetes de javascript para el cliente y herramientas de CLI (Command Line Interface, linea de comandos).

Instalación

Para instalar npm hay que tener Node instalado. Para instalar Node se puede usar:

Para que npm funcione debemos tener una versión de node mayor a 0.10.32. npm es independiente de node por lo que se puede tener una versión antigua de node y una versión nueva de npm.

Con el siguiente comando se revisa qué versión de npm está instalada:

npm -v


Para instalar la ultima versión se ejecuta:

npm install npm@latest -g

Nota: Dependiendo del tipo de instalación el upgrade puede que tenga que ser diferente, usar el método de upgrade apropiado dependiendo de cómo se instaló.

Manejo de paquetes

npm permite instalar paquetes localmente o globalmente. Localmente significa que se instalan en el directorio actual de trabajo y globalmente significa que se instalan en el directorio global de npm, normalmente este directorio se encuentra /usr/local en un sistema tipo Unix pero esto puede cambiar dependiendo del sistema operativo, para saber donde instala paquetes npm se puede ejecutar el siguiente comando:

npm config get prefix


En la documentación explican que es posible que el directorio de instalación tenga problemas de permisos, este link puede ayudar. En ese mismo link se explica cómo cambiar el directorio por defecto.


Instalar global vs local

Como regla general: los paquetes que se van a usar solamente en el proyecto actual deberían instalarse localmente. Si un paquete proporciona una herramienta CLI se instala globalmente.