Crea una cuenta o inicia sesión

¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera

Instalación de dependencias

5/15
Recursos

Aportes 118

Preguntas 79

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Evita tener que hacer sudo cuando hagas un
npm i -g

Con estos tips del equipo de NPM 👉
https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally

Demonio: Servicio que corre en segundo plano en el sistema

No había entendido del todo la parte de las dependencias opcionales. Investigué un poco y tiene todo el sentido del mundo.
.
Son las dependencias que aportan algo extra al proyecto pero que no son necesarias para que el proyecto funcione. Por lo que si su instalación falla por cualquier motivo el proyecto es totalmente funcional.
.
Un ejemplo de esto es si quieres decorar los logs en la consola, puedes agregar un paquete como chalk que te ayudará a lograrlo. El proyecto va a funcionar igual asi los logs no estén decorados, por lo que este sería un paquete opcional.

  • –save : Este documento que vas a instalar dentro del proyecto es necesario para vivir en producción. Hay que tener cuidado con los paquetes que instalamos, cuando es a producción y cuando no lo es.

  • –save-dev: Este documento que vamos a instalar solo es necesario en nuestro entorno local o en el de desarrollo. Es importante no mandar dependencias a producción ni omitir algunas que deban de estar en producción.

Listar paquetes instalados de forma global

npm list -g --depth 0

Comparto este artículo que explica la diferencia entre los tipos de dependencias para los que quieran profundizar o repasar:

Different types of dependencies in a Node.js application explained

Recomendación para los que están en linux (ubuntu).
No es recomendable realizar el comando “sudo npm install -g nodemon” al instalar un paquete pues comprometemos la seguridad de nuestro sistema. Para eso podemos realizar estos dos comandos:

npm config set prefix "/usr/local"
sudo chown -R $USER /usr/local

El primer comando le dice a npm que no utilize “/usr/lib/node_modules/” sino que redireccione las instalaciones a la carpeta “/usr/local”. El segundo comando añade al usuario actual como dueño de la carpeta “usr/local” para que así tengas control total sobre los archivos. Con eso hemos solucionado el problema de las instalaciones globales de npm.

Existen otras formas de solucionarlo como por ejemplo ejecutar la instalación como root o añadir el parámetro --no-bin-links al comando npm, pero no son seguros estos métodos.

fuentes:
http://stackoverflow.com/questions/13527889/global-installation-of-grunt-js-fails
http://howtonode.org/introduction-to-npm

sudo: superuser do

🟢npm install moment --save : Paquete que se encarga de manejar las fechas en JavaScript
🟢 --save : El documento que vamos a instalar dentro del proyecto es necesario para vivir en produccion.
🟢 -dev : El documento que vamos a instalar solo es necesario en nuestro entorno local o en el entorno de desarrollo
🟢 npm install date-fns : Al igual que moment se engarga de manejar fechas y datos
🟢 npm i : abreviacion de nmp install

🟢 -D : abreviacion para --save-dev

SHORTCUTS
i = install
-S = --save
-D = --save-dev

  • Carpeta node_modules: Aquí es donde se van a instalar los módulos que tú estás agregando a tu proyecto. Esta carpeta es importante para que tu proyecto funcione, pero no debe de ser enviada a ningún repositorio y debemos ignorarla apenas se crea.
    Para ignorarla se crea un archivo .gitignore y escribimos: node_modules/

Versión resumida para instalar:

npm i date-nfs -D

Entendí mal o dijo realmente que nodemon es un paquete que nos permite generar un “demonio” jajaja

Instalación de dependencias

Creamos la carpeta src y dentro de ella creamos el archivo index.js

mkdir src
cd src
touch index.js

Cuando instalamos una dependencia lo hacemos con el siguiente comando. El ejemplo es con una libreria de fechas llamada moment.

El siguiente comando es un estandar para la instalacion de paquetes.

npm install moment --save

Flags :

      • save : significa que la dependencia va a ser utlizada en prod.
    • -save -dev : este paquete solo es necesario para nuestro entorno local.

Al instalar el paquete, se crea:

  • Carpeta node_modules : donde estaran nuestro paquetes. Esta carpeta no debe ser llevada a produccion y debemos incluirla en el archivo .gitignore
  • package_lock.json
<h3>Creando dependencia de desarrollo</h3>
npm install date-fns --save-dev 
#Shortcut
#npm i date-fns -D
#npm i moment -S 
<h3>Paquetes de forma global</h3>
sudo npm install -g nodemon
<h3>Ver paquetes instalados de forma global</h3>
npm list -g --depth 0
<h3>Instalar paquetes opcionales</h3>
npm install eslint -O

Genial, aunque aun no comprendo muy bien la diferencia enter --save y --save-dev, es decir, cuando subo mi proyecto a producción y coroo el comando npm install, como quiera las dependencias de desarrollador también se instalan…

💻 Mi comando preferido para instalar dependencias en DEV:

npm i -D moment
  • npm install moment: Instalar dependencia.
  • npm install moment --save: La dependencia instalada es necesaria para vivir en producción.
  • npm install moment --save-dev: La dependencia solo es necesaria en el entorno local o de desarrollo.
  • npm i date-fns -D: Instalar como dependencia de desarrollo.
  • npm i moment -S: Instalar dependencia necesaria para producción.
  • sudo npm install -g nodemon: Instalar dependencia de forma global.
  • npm list -g --depth 0: Listar dependencias instaladas de forma global.

Para los que tuvieron dudas como yo acerca de la diferencia entre las dependencias de producción y de desarrollo. Esto tal vez les pueda ayudar.

Info completa: https://lenguajejs.com/npm/administracion/instalar-paquetes-npm/

Instalación de dependencias

Se pueden instalar paquetes convencional o global dependiendo de la necesidad, además NPM contiene un serie de opciones para la instalación de paquetes y aunque es posible no utilizar todas las herramientas, lo mejor es saber que existen o entender como funcionan.

Las dependencias que instalamos son recursos que utilizaremos a lo largo de nuestros proyectos.

npm install moment --save

A partir de la versión 5 de npm por defecto se instala como una dependencia requerida para el proyecto y se representa por el flag ‘–save’, Esto significa que este paquete es necesario para vivir en producción.

Debemos tener en cuenta que paquete debe vivir en producción o cuando no.

npm install moment --save-dev

El flag anterior no permite establecer que el paquete solo es necesario en el entorno local o de desarrollo. Es muy importante determinar los paquetes que deben estar en producción o desarrollo puesto que no queremos omitir paquetes en producción o tener paquetes innecesarios.

Proceso de instalación

En el momento de ejecutar el comando de instalación se genera una conexión con los comandos de npm, se genera la descarga necesaria de archivos y nos muestra en consola un output del suceso.

En paralelo se genera una carpeta node_modules que contendrá todos los paquetes instalados, de igual forma nuestro package.json se edita agregando la nueva dependencia.

La carpeta node_modules es vital para el desarrollo del proyecto pero debe ser omitida en git y no ser enviada al repositorio, esto se logra con nuestro archivo ‘.gitignore’.

Formas distintas de crear dependencias

  • dependencia de desarrollo
npm install date-fns --save-dev

una forma mas abreviada seria:

npm i date-fns -D
  • dependencia de producción
npm i moment -S

También existe paquetes que deben correr de forma global, podemos instalar paquetes para ser usados en otros proyectos. Ejemplo nodemon nos permite generar un demonio que se encarga de escuchar algún cambio o algún valor y va dejar o mantener en nuestro proceso algún comando de node.

Para realizar la instalación de forma global debemos tener permisos de administrador en caso de trabajar en windows o en mac con la palabra reservada sudo.

sudo npm i -g nodemon

Para saber si tenemos el paquete instalado en la lista de recursos que están instalados de forma global en npm

npm list -g --depth 0

Además muestra todos los paquetes que están listos para ser usados de forma global.

Si alguien tiene el problema de que al instalar paquetes globales el comando no está disponible, ejemplo: nodemon not found
les recomiendo que borren la carpeta C:/Users/{username}/AppData/Roaming/npm
y después la carpeta
C:/Users/{username}/AppData/Roaming/npm-cache
después de esto instalen cualquier paquete de forma global para que NPM vuelva a instalar estas carpetas, esto debería solventar el error, me funcionó en WSL me costó mucho encontrar la solución

Instalación de dependencias

npm intall nombreDependencia
  1. Flags de utilidad:

–save : es necesario para vivir en producción.

npm intall nombreDependencia --save

–save-dev: solo es necesario en nuestro entorno local o en el de desarrollo.

npm intall nombreDependencia --save-dev
  1. .gitignore
    En este archivo se establece los archivos que serán ignorados en producción y quedaran al margen del repositorio

  2. Shortcode:

  • i (install)
  • D (dependencia de desarrollo)
  • S (parte del proyecto)
npm i nombreDependencia  -D 
npm i nombreDependencia  -S
  1. Dependencias globales
    Dependencias disponibles en todos nuestros proyectos. ejempl: nodemon
  • Instalación
npm install -g nombreDependencia
npm install -g nodemon

Permisos:
mac

sudo npm install -g nodemon
  • Verificación
npm list -g --depth 0

No entendí bien, ¿por qué debemos excluir la carpeta “node_modules” del repositorio?

Mi resumen:
Para instalar dependencias primero debemos de estar en la carpeta raiz del proyecto.

Las dependencias son recursos que vamos a utilizar dentro de nuestros proyectos.

Para instalar una dependencia:

npm install moment --save La flag save significa que este documento que vamos a instalar dentro del proyecto es necesario para vivir en producción. Nota: se puede o no usar la flag —save

Hay que tener cuidado cuando un paquete que estemos utilizando es a producción y cuando no lo es.

npm install moment --save-dev Este flag nos permite establecer que este documento que vamos a instalar solo es necesario en nuestro entorno local o desarrollo.

Cuando agregamos una dependencia se nos crean la carpeta modules, esta carpeta es importante para que nuestro proyecto funcione, pero no debe de ser enviada a ningun repositorio y debemos de ignorarla con un archivo .gitignore

En nuestro package.json veremos las dependencias instaladas ya sea que las hayamos instalado con la flag —save-dev o sin ella.

Atajo para instalar una dependencia

npm i date-fns -D donde i es de install y -D de desarrollo también podemos usar -S en lugar de -D para decir que esta dependencia que se va a guardar como parte del proyecto.

Para poder instalar paquetes de manera global hacemos lo siguiente:

sudo npm install -g nodemon

Para verificar que se nos instalo de manera correcta ejecutamos el siguiente comando:

npm list -g --depth 0

Podemos instalar paquetes de manera opcional de la siguiente manera:

npm install eslint -O

<h1>Instalacion de dependencias</h1>
npm i moment -S //package para produccion --save
npm i nodemon -D //package solo para desarrollo --save-dev
npm i nodemon -g //package de manera --global 

//hay algunos packages que tienen partes que es necesario donar para usarlas
npm i eslint -D //eslint se puede usar parcialmente
npm fund //de esta manera vemos como podemos donar

npm list -g --depth 0 //lista de los packages globales

//crea el .gitignore y agrega escrito node_modules

npm install recurso --save : se instala el recurso para producción
npm install recurso --save–dev: este recurso es solo necesario en el entorno local / desarrollo
npm i recurso -D: se instala el recurso como una dependencia de desarrollo
npm i recurso -D: se instala el recurso como una parte del proyecto(Produccion)
npm install recurso -O: instala recurso de forma opcional

–save ó -S => instala los paquetes como dependencia de producción; es decir, que nuestro proyecto siempre lo va a requerir.
–save-dev ó -D => instala los paquetes como dependencia de desarrollo; es decir, solo es necesario para nuestro entorno

-g => instala los paquetes de npm de manera global.
npm list -g --depth 0 => Nos muestra los paquetes que tenemos instalados de forma global

Ahora conocemos la forma adecuada para añadir dependencias a través de este medio. Por cierto, con nodemon tuve problemas para agregarlo en Windows pero al final pude lograrlo con este comando:

npm install -g --force nodemon

Mi way preferido de instalar dependencias
Dependencias en prod. no especifico el --save
npm install moment

Para DevDependencies shorcut:
npm install morgan -D

También se puede usar NPX para no instalar módulos globalmente:
npm install nodemon -D
npx nodemon

npm install === npm i

npm i [nombre_del_paquete] --save === npm i [nombre_del_paquete] -S

npm i [nombre_del_paquete] --save-dev === npm i [nombre_del_paquete] -D

Comando para revisar los packages instalados de forma global: npm list -g --depth 0

Sabían de esto?

npm i emoji-poop

Después …

const emoji = require('emoji-poop');
console.log(emoji)

Cuál es la salida?

Las dependencias de desarrollo son esos modulos que son solo usados para construir nuestro proyecto, pero no para ejecutarlo. Cosas como Babel o Webpack se usan para construir el projecto, no para su ejecución. MIentras las dependencias normales son modulos que son requeridos en ejecución

  • La carpeta node_modules, es donde se guardan las dependencias requeridas por el proyecto.
#Establecer que dependencias en ambiente dev
npm install <package> --save-dev
npm i <package> -D # dependencia del ambiente de desarrollo.
npm install -g <package> # paquetes de instalación global.
npm list -g  --depth 0 # listar los paquetes de instalación global

Para instalar un paquete en nuestro proyecto, simplemente debemos utilizar el comando npm install, situados en la carpeta de nuestro proyecto. Esto instalará dicho paquete y todas sus dependencias en la carpeta node_modules/, a la vez que actualiza el fichero package.json añadiendo el paquete y su versión como una dependencia del proyecto.

Existen varias formas de instalar un paquete:

npm install -D o --save-dev : Instala el paquete en el proyecto, como dependencia de desarrollo. Son aquellos paquetes que necesitamos en un proyecto mientras estamos desarrollándolo, pero una vez tenemos el código generado del proyecto, no vuelven a hacer falta. Los paquetes instalados en esta modalidad, se guardán en la sección devDependences del fichero package.json

npm install o --save-prod : Instala el paquete en el proyecto, como dependencia de producción. Son aquellos paquetes que necesitamos tener en la web final generada, como librerías Javascript necesarias para su funcionamiento o paquetes similares. Los paquetes instalados con el flag --save-prod, -P o directamente sin ningún flag se instalan en esta modalidad, guardándolos en la sección dependences del fichero package.json.

npm install -g o --global : Instala el paquete en el sistema, sin asociarlo al proyecto.

Les anexo la pagina donde saque la informacion

Instalación de Dependencias


  1. npm install name --save Esta dependencia es necesaria para vivir en producción.
  2. npm install name --save-dev ó npm i -D name Este documento solo es necesario en el entorno local o entorno de desarrollo.
  3. npm i name -D Instalación de paquete y también establecer como dependencia de desarrollo.
  4. npm install name --save Esta dependencia es necesaria para vivir en producción
  5. /mode modules Es una carpeta que es importante para el proyecto pero no debe ser enviada a ningún repositorio y podemos ignorarlas con .gitignore.
  6. npm install -g ó npm i -g name Instalar dependencias de manera global.
  7. npm install eslint -O Optional dependency.

No debemos instalar dependencias con sudo pues podemos arriesgarnos. Configuración para instalar sin sudo.

buena practica
Despues de inicializar el repo de git git init
Creat un archivo .gitignore y usa esta pagina para saber que archivos debes ignorar para cada tecnologia que uses (node, python, linux, etc)
https://www.toptal.com/developers/gitignore

En qué carpeta dentro de Ubuntu se guardan las dependencias globales?

Se que esta pregunta debe tener una respuesta muy amplia y particular para cada caso, pero ¿como saber si debo mandar dependencias a producción o no?

Para las personas que como yo son nuevas en el mundo del desarrollo y se siente depronto algo perdidas con algunas de las menciones que realiza el profesor les dejo este enlace que aclara con mucho detalle el manejo de dependencias con npm.Espero les pueda servir de ayuda asi como me sirvio a mi.
https://lenguajejs.com/npm/

Para quien esté usando Windows puede utilizar

type nul > index.js

En lugar de:

touch index.js

–save
Dependencias

Paquetes necesarios para el funcionamiento de tu aplicación.

Ejemplo:

  • React
  • Next
  • React-Dom

–save-dev
Dependencias de desarrollo

Paquetes que se usan en el ambiente de desarrollo

Ejemplo:

  • Grunt
  • Sass
  • Typescript
  • Eslint
  • Babel

Investigue un poco mas sobre los tipos de dependencias y estos fueron mis apuntes sobre los tipos de dependencias mas frecuentes

Dependencias de Producción:

Son las dependencias que son obligatorias para correr nuestro proyecto. Son las que estan siendo utilizadas directamente en el código. Por ejemplo: mi aplicacion trabaja con mongoDB entonces puede haber una dependencia de un paquete de node de mongoDB. Esta dependencia se queda especificada en la key “dependencies” de el archivo package.json. La aplicación no funcionara si no tiene instalada una dependencia referenciada en esta llave.

La sintaxis para instalar una dependencia de producción seria la siguiente:

npm i package_name o npm i package_name --save-prod .

Dependencias de Desarrollo:

Son aquellas dependencias que son necesarias durante el proceso de desarrollo de nuestra app. Uno de los ejemplos mas comunes es nodemon. Nodemon es una heramienta que reinicia la app cada vez que detecta cambios, ahorrándonos tiempo. Es muy útil durante el desarrollo pero no en producción ya que en esta instancia la aplicación no va a sufrir mas cambios. Estas dependencias quedan especificadas bajo la llave “devDependencies” en el package.json.

La sintaxis para instalar una dependencia de desarrollo seria la siguiente:

npm i package_name --save-dev

Dependencias Opcionales

Como su nombre lo dice, estas dependencias son opcionales, esto quieres decir que si fallan en el periodo de instalación, npm simplemente lo ignorara porque no son necesarias para el correcto funcionamiento de la app. Por ejemplo: si utilizas chalk, que es una herramienta que estiliza los logs, podemos guardarla como dependencia opcional porque no afecta el correcto funcionamiento de la app, ni afecta el desarrollo de la misma. Estas dependencias se quedan establecidas dentro de la llave “optionalDependencies” en el package.json

Para instalar una dependencia opcional se usa la siguiente sintaxis:

npm i package_name --save-optional

Este curso es sumamente útil, debería de incluirse en la carrera de Arquitectura Frontend, justo antes de comenzar con los Frameworks CSS.

entiendo, pero me surgen muchas preguntas. si la carpeta node_modules no se sube a ningún repositorio ni se envía a producción, ¿como envió las dependencias que si son necesarias a producción?.

¿si npm me gestiona las dependencias en cuanto a donde se guardan y como se enlazan, al subirlo mi proyecto a producción sin node_modules. no se estaría rompiendo todo ese enlace?.

¿si no node_modules no se sube a producción de que sirven las keywords o declarar las licence o el repositorio que estas usando?

si node_modules que me permite instalar dependencias de manera global para poder ocupar en varios proyectos a la vez. al no subirse a producción como gestiono mis dependencias globales, y las enlazo a los distintos proyectos que tengo trabajando en producción?.
no seria buena practica instalar en producción, boostrap por cada proyecto que este ocupando.

Con la teminal de Cmder que recomendaron en clases anteriores, puedes trabajar con los comandos del sistema Unix.
Además, en el repositorio del mismo, encuentras el paso a paso para poder darle permisos de administrador por defecto y no tener problemas a la hora de instalar dependencias globales! 😄

Si están en Linux puede que al instalar dependencias globales deban usar sudo para hacerlo, algunos directorios requieren permisos especiales de escritura.

sudo npm i -g nodemon

nodemon es una herramienta que ayuda a desarrollar aplicaciones basadas en node.js al reiniciar automáticamente la aplicación de nodo cuando se detectan cambios en el directorio.

Creo que voy a incluir en mis dependencias globales a funny-commit para cuando este poco creativo para los mensajes. Gracias Oscar.

npm install name-package --save 
/*Instala los paquetes que se necesitan en producción*/

npm install name-package --save-dev
/*Instala los paquetes que se necesitan solo en el entorno de desarrollo*/
npm install -g name-package 
/*Instala los paquetes que queremos de forma global*/

Tal vez no usaremos todos los paquetes cuando hagamos un proyecto, pero entende que existen nos va a ayudar a tener contexto de como trabajar con los proyectos.

En nuestro proyecto necesitamos la carpeta “src” que es donde tendremos todos nuestros archivos. Aqui consumiremos nuestros recursos.

En la raiz de nuestro proyecto es donde instalaremos las dependencias. Son recursos que utilizaremos dentro de nuestros proyectos.

Cuando instalamos usualmente utilizamos (este paquete se encarga de manejar las fechas en JS).

npm install moment

de esta forma podemos instalarlo como una dependecia requerida para el proyecto. Pero podemos asignarle un flag “—save” esta significa que esta dependencia es necesario para vivir en produccion, hay que tener cuidado de cuando un paquete es a produccion o no.

Tenemos tambien la flag “—save-dev” nos permite establecer que esta dependencia solo es necesario en nuestro entorno local o de desarrolo.

Ya que instalamos la dependencia, se crea la carpeta “node_modules” y un archivo

“package-lock.json”.

En la carpeta node_modules se instalaran los modulos que instalaremos al proyecto. No debe de ser enviada a ningun repositorio apenas se crea. Esto lo hacemos con .gitignore →node_modules/

En el package.json se agrega la dependencia asignada.

Otros flags que podemos utilizar es ‘i’ que es de Install y el -D que es ‘—save-de’. Tambien -S que hace que se instale como parte del proyecto.

En ocaciones necesitaremos un paquete global, cuando trabajamos en un proyecto podemos instalar el paquete que sera utilizado en el contexto del proyecto, pero no esta disponible para otros si no esta instalado. Uno de los principales proyectos que instalamos de forma global , se llama NODEMON, es un demonio( Servicio que corre en segundo plano en el sistema) que se encargara de estar siempre ecuchando algun valor y va a dejar en nuestro valor algun comando que estemos ejecutando de NODE. Por eso este es global y para eso ocupamos un flag.Como

npm install -g nodemon

Este tipo de paquetes necesitan permisos. Para saber que tenemos este paquete podemos usar:

npm list -g --depth 0

De esta forma tendremos la lista de los paquetes que tenemos instalado de forma global y los recursos que tenemos disponibles.

Tambien podemos instalar paquetes opcionales, esto lo hacemos con la flag -O

npm install eslint -O

Hay tipos de paquetes pide financiamiento, donde podemos ver los datos de los desarrolladores y como podemos apoyarlos, para saberlo usamos:

npm fund

Diferencias entre dependencias de desarrollo y de produccion

La principal diferencia, es que las dependencias en desarrollo no son necesarias para que nuestros usuarios finales las utilice, mientras que las dependencias en produccion son indispensables para que nuestros usuarios consuman el software.

Lo que hace esto es que el administrador de paquetes de nodos (npm) busca en el archivo package.json e instala todas las dependencias enumeradas en el archivo package.json . Pero hay más de un tipo de dependencias:

  • dependencias (dependencias de producción)

  • devDependencies (dependencias de desarrollo)

  • dependencias opcionales

  • peerDependencies

  • bundledDependencies

Cuando agregas --save significa que el paquete se envía a producción.

Si agregas --save-dev significa que el paquete es necesario en el entorno local de ejecución.

Algo raro pasó en mi terminal. Yo utilizo Ubuntu 20.04, para WSL2, en Windows terminal. Pero no me reconocía el comando sudo, luego de pasar media hora cambiando mi contraseña, parece que no lo necesito.

Nuevo Personaje de Digimon: ++NODEMON ++

Como puedo desinstalar un paquete global? o en general un paquete

Hasta ahora me acabo de dar cuenta que el parametro “-g” significa global 😂

–save => Necesario para producción
–save-dev => Solo para nuestro entorno de desarrollo

Listar paquetes que tengo globalmente => npm list -g --depth 0

Pregunta de examen:
¿Para qué nos sirve el flag ‘–save-optional o -O’?

El comando npm root -g te muestra la ruta/ubicación de los paquetes instalados por node de manera global

En qué parte explican qué es node?

En las nuevas versiones de npm el --save viene por defecto, ya no es necesario escribirlo para que lo agregue a package.json en la sección de dependencias.

para los que tienen problemas con EACCES permission denied y no pueden instalar una dependencia o paquete de NPM en el proyecto de otra persona y que lo tiene con permisos, es fácil solamente escriban el siguiente comando

$ sudo su

//este comando te permite entrar al super usuario de tu terminal ubuntu

luego instalas el paquete o la dependencia en la carpeta de proyecto sin necesidad de sudo ¿por qué? porque ya estas en root/administrador y puedes instalar todo lo que tu quieras y listo eso era todo amigos…

ahora para salir del super usuario solo se escribe exit y listo, te devuelve al usuario local en el que estabas, luego verificas que se haya instalado en node_modules y cuando lo encuentres instalado, ya puedes vivir feliz toda la vida jejeje

muchachos de nada y dale un like 😃 espero te haya servido.

Instalación de dependencias

Las dependencias deben ser instaladas desde la carpeta raíz de nuestro proyecto, los comandos que se utilizan para esto son los siguientes.

npm install <paquete> y npm i <paquete> instalan la dependencia en el proyecto de manera general como algo requerido para el funcionamiento del mismo, esto quiere decir que la dependencia es necesaria para el ambiente de producción, esto mismo se logra con el comando npm insatall —save o npm install -S , (la bandera —save es un valor por defecto desde la versión 5 de npm por lo que no es necesario agregarlo si el recurso que se va a instalar es necesario).
 
Para instalar un paquete o dependencia solo para el entorno de desarrollo local podemos utilizar los comandos npm i <paquete> —save-dev o npm i <paquete> -D
 
Si deseamos instalar una dependencia de manera opcional se utiliza npm i <paquete> -O esto nos sirve para las dependencias que aportan algo extra al proyecto pero que no son necesarias para que el este funcione. Por lo que si su instalación falla por cualquier motivo el proyecto es totalmente funcional.
 
 
Hasta este punto hemos visto como instalar dependencias en un proyecto especifico, pero también podemos instalar dependencias de manera global esto para usar los paquetes en cualquier proyecto sin la necesidad de instalarlo en cada uno de ellos de manera independiente, esto lo logramos con el comando npm install -g <paquete>

 
 


💡 Para ver los paquetes o dependencias instaladas en un proyecto especifico usamos npm list si queremos ver las que estén instaladas de manera global podemos ejecutar el comando npm list -g —depth 0


nodemon :Es un demonio, una utilidad que monitorea los cambios en el código fuente que se está desarrollando y automáticamente reinicia el servidor. Es una herramienta muy útil para desarrollo de aplicaciones con javascript.

para quienes usan Linux, no es necesario usar sudo en el comando npm install -g

Algunos shortcouts para las intalaciones de npm podrian ser

npm i <pack-name> Nos permite instalar un paquete que seria el equivalente de npm install --save

Para instalar las dependencias de desarrollo podemos unsa -D como npm i -D <pack-name>

Desconozco que son paquetes, para que se usan en un proyecto? Me duele la cabeza de tantos términos que desconozco.

Pregunta de examen:
¿Cuál es el comando que nos permite identificar las dependencias globales instaladas en nuestro sistema?

Con Ctrl + L pueden limpiar la consola, así nos evitamos que a cada rato evitemos escribir “clear”

Les recomiendo trabajar con el wsl de ubuntu instalado para windows

Resumen de la clase:
Objetivo de la clase
Aprender instalación de paquetes desde uno convencional, uno global y con todas las opciones que tenemos para instalar paquetes en nuestros proyectos.
.
Preparar el entorno
Creamos una carpera src.
Dentro de src creamos el archivo index.js // donde están los recursos para consumir que hemos instalado.
.
Instalación de dependencias o paquetes
Demos hacer la instalación en la raíz del proyecto.
Aquí instalaremos las dependencias los cuales son recursos que vamos a usar dentro de nuestros proyectos.
.
Ejemplo momento.js:
Si deseamos instalar un paquete para manejar fechas en JavaScript: momento.js
Comando: npm install moment// a apartir de npm versión 5, se instala como dependencia requerida para el proyecto , si llevara el flag --save
Comando: npm install momento –save//igual al anterior, por defecto, significa que es necesaria para vivir en producción. Tener cuidado.
Comando npm install dependencia –save-dev // establecemos que esta dependencia solo es necesaria es nuestro entorno local, en desarrollo.
Al instalar se conecta a los servidores de NPM, extrae la información necesaria, crea archivos necesarios y nos da un output.

IMPORTANT
Siempre que se subo el proyecto a un repositorio, nunca subir el paquete ''Node_module" .
node_module = ignorado con .gitignore 😃
Cuando otro desarrollador quiera aportar al nuestro proyecto, lo único que debe hacer el clonar el repositorio en el cual si se sube el “Package.json” y es que le va a permitir instalar todas las dependencias necesarias de npm(node) para trabajar sobre el proyecto.

npm install eslint -O
Cuando se instala un paquete de forma opcional, se agrega en el nodo de optionalDependencies del package.json

Nodemon

Es una utilidad que monitorea los cambios en el código fuente que se esta desarrollando y automáticamente re inicia el servidor. Es una herramienta muy útil para desarrollo de aplicaciones en nodojs.

Que enrredo en el min 7:39, asi se simplifica mejor

Instalación de dependencias

Evitar hacer sudo al instalar dependencias globales

1. npm install <package> --save //Es un paquete necesario para producción
	 npm i <package> -S // Es la forma corta del comando de arriba
2. npm install <package> --save-dev // Es un paquete necesario solo para desarrollo
	 npm i <package> -D // Instala el paquete como dependencia de desarrollo -i 'install' y -D '--save-dev'

/*Instalar proyectos de forma global*/

//nodemon
3. npm i -g nodemon //Es la forma de instalar un paquete de manera global

//verficar los paquetes instalados de forma global
4. npm list -g --depth 0 //el 0 es la forma de ver la profundidad con 
//la que va a buscar los paquete, 0 significa desde la carpeta raíz

/*Instalar un paquete de forma Opcional*/

5. npm i eslint -O 

dependencies

  • moment
  • date-fns

npm install moment --save // --save tell us that this module is required for production
npm i moment -S // shorcut

npm install moment --save-dev // --save-dev tell us that this module is just for development and not production
npm i moment -D // shorcut

npm list -g --depth 0 // muestra dependencias instaladas a nivel global

node_modules SIEMPRE SE IGNORA en el .gitignore
’node_modules/’

una pregunta y como se diferencia cuando es un entorno de desarrollo y uno de producción?

enserio!

Comando para listar dependencias globales

“Partiendo de esto” frase celebre del profe un genio jejejje ya lo aprecio cada dia mas!! seguimos con el curso!

IMPORTANTE

  • –save = El documento es necesario para producción.
  • –save-dev = Requerido solo en el entorno local

jajaja un DEMONIO 👿

Llamen a un exorcista porfavor mi pc se endemonio

Use of --save-dev

Sigamos!

Listar recursos Globales, importante

Alguien me puede ayudar 😦 utilizo hyper de terminal con zsh en windows y no se como puedo instalar el nodemon global, no se como pueda poner la contraseña que me pide después de ejecutar el comando “sudo npm install -g nodemon”, me imaginé que era la del usuario administrador pero no funcionó

Si quieren utilizar diferentes versiones de Node y poder instalar paquetes sin necesidad de otorgar permisos pueden usar nvm

Aprendí muchas cosas. Gracias. Resolví muchas dudas.

npm list -g --depth 0```

Ver los paquetes que estan instalados de forma global

npm list -g —depth 0

Los paquetes opcionales donde quedan instalados?

donde quedan instalados los paquetes globales?

excelente clase, muchas gracias 🚀

Les recomiendo esta lectura para repasar y entender mucho más sobre NPM https://blog.codota.com/a-comprehensive-beginners-guide-to-npm/

Usando este comando nos lista los paquetes junto a sus dependencias y de donde vienen
npm ls -gl