Difference between revisions of "Npm"

From Wiki de Caballero
Jump to navigation Jump to search
Line 40: Line 40:

En la documentación explican que es posible que el directorio de instalación tenga problemas de permisos, [https://docs.npmjs.com/getting-started/fixing-npm-permissions este link] puede ayudar. En ese mismo link se explica cómo cambiar el directorio por defecto.


En la documentación explican que es posible que el directorio de instalación tenga problemas de permisos, [https://docs.npmjs.com/getting-started/fixing-npm-permissions este link] puede ayudar. En ese mismo link se explica cómo cambiar el directorio por defecto.



==Instalar global vs local==
==Instalar paquetes==
===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.
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.


Más info: [https://nodejs.org/en/blog/npm/npm-1-0-global-vs-local-installation/ npm 1.0: Global vs Local installation | Node.js]
===Ejemplo local===
<source lang="bash">
# En una carpeta nueva ejecutar
npm install jquery
# El siguiente comando muestra lo instalado localmente
npm ls
</source>
===Ejemplo global===
<source lang="bash">
npm install -g jquery
# El siguiente comando muestra lo instalado globalmente
npm ls -g
</source>
==package.json==
===Para qué sirve===
Con un archivo especial se puede definir qué paquetes hacen parte de un proyecto, este archivo es <code>package.json</code>.
Es una forma de mantener un registro de los paquetes que necesita el proyecto actual. Si ya existe el archivo package.json y se quiere instalar los paquetes que especifica se ejecuta:
<source lang="bash">
npm install
</source>
===Crear archivo package.json===
Para crea un archivo package.json se puede de las siguientes formas:
* <code>npm init</code>, crea el archivo luego de responder algunas preguntas.
* <code>npm init --yes</code>, igual al anterior pero omite algunas preguntas y las deja con un valor por defecto.
* Manualmente, como es un archivo de texto se puede crear manualmente.
Para más info ver [https://docs.npmjs.com/getting-started/using-a-package.json 05 - Working with package.json | npm Documentation].
===dependencies vs devDependencies===
Una vez que está el archivo creado, los paquetes a instalar se especifican en dos posibles grupos: dependencies y devDependencies.
La diferencia entre estos dos grupos es que en el primero se instalan los paquetes definitivos y en el segundo que empieza con dev se instalan solo aquellos a usar en etapa de desarrollo.
Para agregar paquetes al archivo se puede hacer manualmente o usando un comando. Los comandos son los siguientes:
<source lang="bash">
# Para agregar el paquete a dependencies

npm install <package> --save
# Para agregar el paquete a devDependencies

npm install <package> --save-dev
</source>
==Referencias==
* [https://docs.npmjs.com/cli/install install | npm Documentation]
* [https://docs.npmjs.com/getting-started/using-a-package.json 05 - Working with package.json | npm Documentation]
* [https://nodejs.org/en/blog/npm/npm-1-0-global-vs-local-installation/ npm 1.0: Global vs Local installation | Node.js]


[[Category:npm]]
[[Category:npm]]
[[Category:node]]
[[Category:node]]

Revision as of 13:54, 10 October 2018

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 paquetes

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.

Más info: npm 1.0: Global vs Local installation | Node.js

Ejemplo local

# En una carpeta nueva ejecutar
npm install jquery
# El siguiente comando muestra lo instalado localmente
npm ls

Ejemplo global

npm install -g jquery
# El siguiente comando muestra lo instalado globalmente
npm ls -g

package.json

Para qué sirve

Con un archivo especial se puede definir qué paquetes hacen parte de un proyecto, este archivo es package.json.

Es una forma de mantener un registro de los paquetes que necesita el proyecto actual. Si ya existe el archivo package.json y se quiere instalar los paquetes que especifica se ejecuta:

npm install

Crear archivo package.json

Para crea un archivo package.json se puede de las siguientes formas:

  • npm init, crea el archivo luego de responder algunas preguntas.
  • npm init --yes, igual al anterior pero omite algunas preguntas y las deja con un valor por defecto.
  • Manualmente, como es un archivo de texto se puede crear manualmente.

Para más info ver 05 - Working with package.json | npm Documentation.

dependencies vs devDependencies

Una vez que está el archivo creado, los paquetes a instalar se especifican en dos posibles grupos: dependencies y devDependencies.

La diferencia entre estos dos grupos es que en el primero se instalan los paquetes definitivos y en el segundo que empieza con dev se instalan solo aquellos a usar en etapa de desarrollo.

Para agregar paquetes al archivo se puede hacer manualmente o usando un comando. Los comandos son los siguientes:

# Para agregar el paquete a dependencies

npm install <package> --save
# Para agregar el paquete a devDependencies

npm install <package> --save-dev


Referencias