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.

  • 鈥搒ave : 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.

  • 鈥搒ave-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 鈥渟udo 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 鈥渦sr/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 鈥渄emonio鈥 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 鈥樷搒ave鈥, 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:

鈥搒ave : es necesario para vivir en producci贸n.

npm intall nombreDependencia --save

鈥搒ave-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 鈥渘ode_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 鈥攕ave

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 鈥攕ave-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鈥揹ev: 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

鈥搒ave 贸 -S => instala los paquetes como dependencia de producci贸n; es decir, que nuestro proyecto siempre lo va a requerir.
鈥搒ave-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-devnpm 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 -gnpm 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

鈥搒ave
Dependencias

Paquetes necesarios para el funcionamiento de tu aplicaci贸n.

Ejemplo:

  • React
  • Next
  • React-Dom

鈥搒ave-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 鈥渄ependencies鈥 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 鈥渄evDependencies鈥 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 鈥渙ptionalDependencies鈥 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 鈥渟rc鈥 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 鈥溾攕ave鈥 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 鈥溾攕ave-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 鈥渘ode_modules鈥 y un archivo

鈥減ackage-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 鈫抧ode_modules/

En el package.json se agrega la dependencia asignada.

Otros flags que podemos utilizar es 鈥榠鈥 que es de Install y el -D que es 鈥樷攕ave-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 馃槀

鈥搒ave => Necesario para producci贸n
鈥搒ave-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 鈥樷搒ave-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 鈥攕ave o npm install -S , (la bandera 鈥攕ave 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> 鈥攕ave-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 鈥攄epth 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 鈥渃lear鈥

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 鈥搒ave//igual al anterior, por defecto, significa que es necesaria para vivir en producci贸n. Tener cuidado.
Comando npm install dependencia 鈥搒ave-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 鈥淧ackage.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
鈥檔ode_modules/鈥

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

enserio!

Comando para listar dependencias globales

鈥淧artiendo de esto鈥 frase celebre del profe un genio jejejje ya lo aprecio cada dia mas!! seguimos con el curso!

IMPORTANTE

  • 鈥搒ave = El documento es necesario para producci贸n.
  • 鈥搒ave-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 鈥渟udo 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 鈥攄epth 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