Esto instalará una versión reciente de los servidores de NPM en la sección de "dependencies" del package.json, por lo que si es necesario, puedes cambiar de lugar modificando el archivo siguiendo la estructura de JSON correctamente para evitar errores.
Instalar una versión exacta de una dependencia
Para instalar una versión exacta de una dependencia, utiliza el comando, donde <paquete> es el nombre del paquete y <versión> es la versión exacta.
$ npminstall<paquete>@<versión>
Este comando instalará la versión exacta del paquete desde el repositorio de NPM.
$ npminstall json-server@0.15.0
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random()in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
added 154 packages, and audited 328 packages in 30s
25 packages are looking for funding
run `npm fund`for details
found 0 vulnerabilities
Simular la instalación de una dependencia
Para simular la instalación de una dependencia, utiliza el siguiente comando, donde <paquete> es el nombre del paquete.
$ npminstall --dry-run <paquete>
Este comando mostrará el resultado de instalación sin instalarlo en el proyecto.
$ npm i react --dry-run
added 4 packages in 2s
23 packages are looking for funding
run `npm fund`for details
Comando npm install
Si se tiene un archivo package.json que contiene la información de las dependencias del proyecto, pero no tienes instaladas esas dependencias, la manera para instalarlas todas en un solo comando es npm install o la forma corta npm i. De este modo, instalarás cada paquete con su respectiva versión.
Si únicamente tenías el archivo package.json después de ejecutar el comando, aparte de instalar todas las dependencias, se generará un archivo package-lock.json y un directorio llamado node_modules.
El archivo package-lock.json muestra todo el árbol de dependencias de tu proyecto, ¿qué significa esto? Cada dependencia instalada también tiene sus respectivas dependencias, a estas se las denomina sub-dependencias. El árbol de dependencias muestra todas las sub-dependencias como si de ramas se tratasen.
El directorio node_modules contiene todos los archivos ejecutables de Node y los archivos que contiene cada dependencia. Este directorio es ignorado por los repositorios de Git, por eso es importante el archivo package.json, ya que te permitirá instalar este directorio con un simple comando.
Justo lo que estaba buscando hace unos días atrás, Muchísimas Gracias.
se agradece eso aportes. :)
Gracias.
NPM decidió agregar un nuevo comando: npm fund que brindará más visibilidad a los usuarios de npm sobre qué dependencias buscan activamente formas de financiar su trabajo .
.
Este comando recupera información sobre cómo financiar las dependencias de un proyecto determinado.
.
Si no se proporciona el nombre del paquete, enumerará todas las dependencias que buscan financiación en una estructura de árbol en la que se enumeran el tipo de financiación y la URL a visitar.
.
Si se proporciona un nombre de paquete, entonces intenta abrir su url de financiación utilizando el --browser parámetro de configuración.
Gracias por esta aclaración.
Buena aclaracion.
Cuando queremos ver el output de una dependencia sin proceder con su instalación ejecutamos.
npm install name_package --dry-run
Instalar la última versión y desde los servidores de npm:
npm install webpack -f
npm install webpack --force
Instalar una versión exacta de un paquete:
npm install json-server@0.15.0
Gracias, necesitaba tu apunte.
Instalación de Dependencias
en nuestro proyecto jsnpm creamos una carpeta con mkdir src que es donde va a vivir todos los archivos que van a consumir todos los recursos que hemos instalado
despues creamos un archivo con touch index.js
ahora hay que hacer pwd que nos indica la ruta donde estamos ya que las dependencias se deben instalar en nuestra carpeta raíz de nuestro proyecto y entonces nos movemos a esta raiz
ahora para instalar un paquete, es aquí donde tomamos la decisión de como lo vamos a ejecutar,
ahora al momento que instalamos el primer paquete se nos creara una carpeta node_modules aqui se instalaran lo modulos que estamos agregando a nuestro proyecto y sera necesaria para que este funcione, pero no debe ser enviada a ningun repositorio ni a nuestro proyecto a produccion y por eso debemos ignorarla al nos mas se cree y para ello creamos un archivo .gitignore en la carpeta raiz y dentro de este escribimos node_modules/
npm install <package> este por defecto se instala como una dependencia requerida para el proyecto es decir que el paquete que instalas es necesario para vivir en produccion esto tiene otras variantes como npm install <package> --save aqui la palabra save se tomara por defecto y no es necesario escribirla o npm install <package> --S como ejemplo instalaremos npm install moment para manejar fecha en javascript o con el shortcut npm install moment --S
npm i <package> -D (este es con shortcut) o npm install <package> save-dev este flag nos va a permitir establecer que el paquete a instalar solo es necesario en nuestro entorno local o el entorno de desarrollo ejem: vamos a instalar una dependencia que maneja fecha y datos npm install date-fns save-dev
npm install <package> -g instalar un paquete de forma global, esto nos permite que podamos utilizar este paquete en diferentes proyectos por lo general se deben instalar estos paquetes con permisos de administrador. Ejem. sudo npm install -g nodemon nos permite generar un demonio que va a estar siempre escuchando algun cambio o algun valor y nos va dejar mantener en nuestro proceso algun comando que estemos ejecutando de node
Guia para no esta colocando permisos de administrador a cada rato
npm list -g—depth 0 (depth es la profundidad que va a buscar dentro de los paquetes) ver los paquetes que están instalados de forma global
/usr/lib
├── nodemon@2.0.6└── npm@6.14.8
npm list es para listar los paquetes que tienen un proyecto en especifico
npm install <package> -O podemos instalar de forma opcional un paquete con este comando ejemplo instalaremos eslint para correcciones de codigo en JS npm install eslint -O y cuando finalizamos siempre nos un output de mensajes y tiempos de ejecucion en este ejemplo
//nos disce que podemos donar y que ejecutamos npm fund para apollar//a los desarrolladores10 packages are looking for funding
run `npm fund`for details
npm install <package> --dry-run (simula la instalación) este flag indica que el paquete no va a ser instalado dentro del proyecto simplemente es una simulación nada mas nos muestra el output como si fuere instalado, despues de esto nosotros decidimos si la instalamos o no ejem: npm install react --dry-run
npm install <package> -f o npm install <package> --force instalar algún paquete de forma forzada y nos va a permitir instalar este paquete forzándola a que sea desde el ultimo recurso o version y desde el servidor de NPM ejemplo npm install webpack -f si nos vamos al archivo package.json y vemos que el paquete se instalo en las dependencies pero estas deberieron estar en devdependencies podemos tomar el nombre de ese paquete cortarlo y pegarlo en el grupo que corresponda
//asi se instalo en dependecies"dependencies":{"date-fns":"^2.16.1","eslint":"^7.12.1","moment":"^2.29.1","webpack":"^5.3.2"},"devDependencies":{},//nosotros lo cortamos y lo pegamos en devDependecies"dependencies":{"date-fns":"^2.16.1","eslint":"^7.12.1","moment":"^2.29.1"},"devDependencies":{"webpack":"^5.3.2"},
npm install si nosotros queremos volver a instalar todas las dependencias que están en el package.json
npm install <package>@<version> para instalar algun paquete con una versión específica, esto puede ser necesario cuando tenemos que darle mantenimiento a una app con una version anterior de algun paquete o quizas las version actual es beta, etc. ejem: npm install json-server@0.15.0
GRACIAS POR COMPARTIR!!
muchas gracias
Un error que cometemos al clonar un proyecto de un repositorio remoto, es querer iniciar la aplicación de forma local inmediatamente después de descargar el código. Seguramente, nada funcionará, debido a que no existe la carpeta node_modules que contiene las dependencias requeridas.
Como regla, siempre ejecuten npm install después de clonar el proyecto.
esto no lo sabia, gracias
Algo que también me pasaba y mucho, era que luego de hacer pull de algún commit que otro desarrollador hizo, no ejecutaba el comando de npm install y me daba errores sin saber que en el commit se instaló alguna librería.
El paquete json-server es fantástico, se pueden hacer peticiones HTTP a un archivo json, yo lo uso con Ngrok y hago peticiones externas.
Son herramientas que nos permiten ser ágiles a la hora de implementar nuestros desarrollos.
o sea te refieres a get y esas cosas a un archivo json?
"I sure hope you know what are you doing""Espero que sepas qué estás haciendo"
Me encanta los mensajes que da NPM 🤣
JAJAJAJAJA
Luego de instalar webpack ahora entiendo estos memes 😂
Ha ha ha it's really funny!
😁😂
Instalación de dependencias con force
Simula la instalacion para tener un output para decidir si instalarlo
npminstall react --dry-run
Instalacion forzada
npminstall webpack -f
Como reinstalar todos los paquetes y dependencias
Este comando toma el archivo package.json e intala todo lo que tiene en el.
npminstall
Instalacion de una version en particular
npminstall json-server@0.15.0
No entendí bien, el comando npm install (solo sin más) reinstala todo?
Revisa el package.json y reinstala todo como esta escrito allí.
Hola Cristobal, como estas?, npm install lo que hace es leer el package.json e instalar todo lo que se solicita en el para que el proyecto funcione.
npm install (nombre del paquete) --dry-run
Este flag nos sirve para no instalar la dependencia dentro del proyecto, pero nos muestra la salida que retorna, es solo simular la instalación, de esta manera con la salida podemos decidir si instalamos o no
npm install (paquete) -f
Esta bandera forza la instalación del paquete del último recurso que tiene el servidor
npm install instala todas las dependencias encontradas en el archivo package.json
npm fund muestra paquetes con financiamiento
npm install (paquete)@0.15.0 De esta manera se instala un paquete especificando la instalación
Si npm install instala TODO, ¿Cómo instalaria +unicamente las dependencias de producción?
¡Hola! Con npm install --production, te dejo un artículo sobre esto :D
Gracias ^^ Ahora si dejaré por fin de estar instalando todo en producción xD
¿Qué es --dry-run?
Este flag se utiliza al final de un comando para simular lo que va a pasar al ejecutar ese comando, es muy útil cuando vamos a eliminar archivos, por ejemplo.
Su traducción es ejecución en seco. Esto proviene de la manera en la que probaban los barcos antes de ponerlos en agua
¿Cual es la diferencia entre dependencia de desarrollo y opcionales?
Hola, Yosef :)
Las dependencias opcionales son las que "no requieren instalarse" necesariamente.
Las dependencias de desarrollo se instalan en tu ambiente de desarrollo, pero no se usan en producción.
Eeste artículo de Medium te puede aclarar un poco más las diferencias: What Are NPM’s Optional Dependencies and When Should We Use Them?.
¡Nunca pares de aprender! 💚
También tenía la misma duda.
Muy buen ejemplo del de chalk como dependencia opcional!!!! Muchas GRACIAS!!!
Puedes instalar una version exacta, sin constrains usando:
npm i --save-exact my-package@1.2.3
tu package.json quedara asi
{"dependencies":{"my-package":"1.2.3"}}
Cuando instalas con una version especifica de un paquete, ejemplo:
npm i -S package@3.2.1
notaras que en el package.json queda de esta forma
{ dependencies:{"package":"^3.2.1"}}
esto significa que instala la vevsion que especificaste pero el simbolo ^ permite que este abierto a actualizacion del ultimo digito (path=1)
entocnes si tu corres el comando de actualizacion de paquetes:
npm update
entonces el paquete se actualizara de la siguiente forma
{ dependencies:{"package":"^3.2.2"}}
sino quieres que el paquete se actualice, ni haciendo el comando npm update (tal vez porque dependes de esa vercion exacta) puedes hacer:
npm i -S --save-exact package@3.2.1
entonces tu package.json quedara asi
{ dependencies:{"package":"3.2.1"}}
y ya no quedara abierto a actualizaciones, aun que ejecutes el comando npm update tu paquete segura en la misma version
Habla con muchos terminos tecnicos, pero no explica a que se refiere. Esto me frustra de este profesor.
¡Hola!
Siempre puedes preguntar los términos que no te queden claros para que la comunidad pueda ayudarte a resolver tus dudas. Este curso forma parte de rutas como la Escuela de JavaScript o la Ruta de Desarrollo Web por lo que se da por hecho que ya has tocado Javascript, asi como los cursos anteriores donde se explican muchos términos y conceptos que se aplican en este curso, te recomiendo poder seguir los cursos en orden e ir comentando todas las dudas que tengas.
De igual manera acá coméntanos ¿qué términos aún no conoces que te gustaría saber? Estamos para apoyarte. 😊
Existe una flag que vamos a utilizar para poder distinguir que una dependencia no va a ser instalada en el proyecto, pero si queremos ver el output que nos retorna.
.
npm install react --dry-run Lo que hace esta flag es simular que se instala, para ver que se esta instalando para que después tu decidas si vas o no a instalar el paquete.
.
Hay otra forma de instalar también paquetes y es con el flag force El cual nos va a permitir instalar el paquete forzando esta instalación a que sea desde el ultimo recurso desde el servidor de npm, este se ejecuta de la siguiente forma:
.
npm install webpack -f
.
Si la dependencia no se instalara en el lugar deseado lo que podemos hacer es modificar nuestro package.json cumpliendo con el estandar del archivo y después ejecutamos npm install
.
Lo que hara npm install es revisar el archivo package.json para volver a instalar las dependencias.
.
La ultima forma para poder instalar una dependencia es si conocemos la versión particular que vamos a utilizar en el proyecto, por ejemplo como para darle mantenimiento. Lo que hacemos es usar el comando npm install json-server@0.15.0